直接上代码:
class data
{
public list:number[];
constructor()
{
this.list=[0,0,0];
}
}
class methods extends data
{
constructor(){
super();
setInverval(function(){this.update();},1000);
}
public update():void
{
for(var i=0;i<this.list.length;i++)
{
this.list[i]++;
}
}
}
class vueModel {
el: string;
data: data;
methods: methods;
watch: any;
constructor(selector:string) {
this.data = new data();
this.methods = new methods();
this.el=selector;
}
}
var v=new Vue(new vueModel());
本意是让list中的数字每一秒加一,结果发现UI没有得到更新.
显然vue吃紧对象后进行了改造,update这是更新原来的data
中的list,vue中的data没有更新.正确的方法是通过vue调用update
在初始化vue后添加代码:
setInterval(function(){v.update();},1000);