data中的对象属性无法使用自身的get,set钩子方法怎么办?
发布于 6 年前 作者 hhan 7671 次浏览 来自 官方Issues

是这样的,我自定义了一个构造方法,构造方法里面我定义了一个普通属性value,然后定义了一个displayObject并设置了get钩子方法,主要是根据自己的另外一个属性动态的返回一些东西。

function ListItem(value) {
  this.value = value;
}
 
ListItem.prototype = {
  get displayObject() {
    return {
      title: "Title",
      type: this.value < 0? "D" : "C",
      value: this.value
    }
  }
}

然后我new了一个ListItem对象,并放到Page的data里面,但是页面不识别displayObject,只能识别value属性,似乎他只能识别自身可枚举属性

data: {
    listItem: new ListItem(100)
},
<text>{{listItem.value}}</text>
<text>{{listItem.displayObject}}</text><!-- 不能识别 -->

有什么其他折中的方法能实现这种效果?我的意思是:其中某个属性需要依赖另外几个属性的值。

2 回复

是这样的:我们公司打算把一个现有的web app移植到小程序,原版app里面有很多定义好的model,各种model都是有继承的关系的,如果转到小程序,data不识别原型链的话,那我们就麻烦了,原来的model全都不能复用,整个都得重构

你想实现 computed 的效果是吗?

回到顶部