Coder Social home page Coder Social logo

vue-mini's Introduction

Vue Mini logo

Actions Status Coverage Status License

Vue Mini

Vue Mini 是一个基于 Vue 3 的小程序框架,它简单,强大,高性能。 你可以使用 Vue 3 的响应式数据 + 组合式 API 开发小程序,从此开发小程序也将是一种享受。

赞助

Vue Mini 从诞生之初到现在一直是我的个人项目,背后没有任何公司支持。你的资金支持将有助于 Vue Mini 更加长远健康的发展。如何赞助?

文档(编写中)

https://vuemini.org

许可证

MIT

Copyright (c) 2019-present Yang Mingshan

vue-mini's People

Contributors

dependabot[bot] avatar yangmingshan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vue-mini's Issues

关于page onload

对于page,onload对应setup,问题一是如何异步,问题二是异步的话,会先执行完onload再执行onshow吗

setup中如何使用setData更新data中数据

小程序中有些特殊组件 比如map中的markers,polyline 等属性
是无法使用setup返回的proxy对象绑定的 只能定义在data中
但是setup中方法无法使用setData方法 操作data中数据

希望setup里的context可以暴露出setData方法
或者context暴露出页面/组件中的方法
(这样可能会破坏封闭性 也许可以使用ts限制setData中的key?)

如何引入vuex

inject不能在组件外使用。
当然用reactive写个替代版vuex,也不是不行,想看看作者的方案

数据更新的时机

以如下代码为例,开发者工具会报错,网络层错误undefined/xx.png

  state: {
     imgHost: 'xxx.com',
  }
  <image src="{{ imgHost + 'xx.png' }} />

computed需要放入reactive吗

看了下文档,是这么写的

const state = reactive({
      count: 0,
      double: computed(() => state.count * 2),
})

不放入一样响应吧

有针对setData做性能优化的地方吗

执行setData 应该都在 deepWatch 函数内

export function deepWatch(
  this: Pick<
    WechatMiniprogram.Component.InstanceMethods<Record<string, unknown>>,
    'setData'
  >,
  key: string,
  value: unknown
): void {
  if (!isObject(value)) {
    return
  }

  watch(
    isRef(value) ? value : () => value,
    () => {
      this.setData({ [key]: deepToRaw(value) })
    },
    {
      deep: true,
    }
  )
}

似乎没有看到针对setData 的特殊优化,小程序也提供了 $spliceData的api

全局inject

虽然文档和console都提示说inject限于component.
但是从测试来看,从app. js provide是可以inject到page的,所以这个描述应该可以放开吧

关于简易双向绑定失效的情况

    {{count}}
    <input model:value="{{count}}" />
import { definePage, ref, watch } from "@vue-mini/wechat";

definePage(() => {
  const count = ref(0);
  watch(count, (val) => {
    console.log("count change");
  });
  return {
    count,
  };
});

模板内的count会随着input内的值改变,但是js中的count的值并没有改变

微信版本库2.16.1
vue-mini 0.21

请教下properties的使用

请教下,在自定义组件中,properties怎么在setup里交互:

  1. properties能否修改
  2. properties能否watch

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.