Skip to content
/ mini-vue Public

魔改vue支持wxml写法,可以理解为小程序渲染层的基础库实现

License

Notifications You must be signed in to change notification settings

YufJi/mini-vue

Repository files navigation

是什么

这个项目是对小程序的渲染层重新的实现,核心功能基于Vue@2。 将其作为小程序的渲染层基础库,必然将原先的模板编译层做了较大的改动为了迎合wxml写法。 vue中一些非必要的概念能力都做了删减,如指令、v-model、filter等

解决Vue不支持监听数组下标改变

原因:

由于vue@2是基于基于defineProperty的响应式更新方式,且array只是拦截部分原型方法,导致不支持监听数组下标改变。

解决方式:

  • 移除基于defineProperty的响应式更新方式
  • vm实例增加方法setData,通过手动调用该方法执行更新,就是把自动挡降回手动挡的意思
Vue.prototype.setData = function (data) {
    const vm = this;

    forOwn(data, (value, key) => {
      set(vm, key, value);
    });

    // update
    queueUpdater(vm);
  };

后续计划

  • tiny-v1中的渲染层替换掉
  • mixins配置改用小程序的behavior方式

About

魔改vue支持wxml写法,可以理解为小程序渲染层的基础库实现

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages