是这样的,我自定义了一个构造方法,构造方法里面我定义了一个普通属性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 > <!-- 不能识别 --> |
有什么其他折中的方法能实现这种效果?我的意思是:其中某个属性需要依赖另外几个属性的值。
是这样的:我们公司打算把一个现有的web app移植到小程序,原版app里面有很多定义好的model,各种model都是有继承的关系的,如果转到小程序,data不识别原型链的话,那我们就麻烦了,原来的model全都不能复用,整个都得重构
你想实现 computed 的效果是吗?
function
ListItem(value) {
this
.value = value;
Object.defineProperty(
this
,
'name'
,{
enumerable:
true
,
get(){
return
this
.value+
"abc"
},
})
}