Meituan-Dianping / mpvue

基于 Vue.js 的小程序开发框架,从底层支持 Vue.js 语法和构建工具体系。

Home Page:http://mpvue.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

使用$set添加新属性可以更新视图 但使用$delete删除属性不能更新视图

stalkercn opened this issue · comments

[扼要问题描述]

mpvue 版本号:

[mpvue@2.0.6]

最小化复现代码:

// 示例代码:
<template>
    <h1 @click="test">{{x.y ? x.y : 'undefined'}}</h1>
</template>
export default {
  data () {
    return {
      i: 0,
      x: {}
    }
  },
  methods: {
    test () {
      if (this.x.y) {
        this.$delete(this.x, 'y')
      } else {
        this.$set(this.x, 'y', ++this.i)
      }
    }
  }
}

观察到的表现:

同样的代码在vue页面中可以正常响应,而在mpvue中却只能响应$set方法。

项目开始以后我才知道mpvue已经好几年没有人维护了 然而现在骑虎难下没法从头开始 希望大家帮忙想想办法 感谢

你可以使用计算属性来控制视图渲染

你可以换成uniapp