正如我们知道的cesium中也有knockout属性,该属性值的对象与ko对象是不完全一样的,大部分相同但是也有很多不同的地方。
1.将viewModule对象中的属性转化为监控属性
knockout.js中添加监控属性只有observable()方法
例如:
var viewModule={
name:name:ko.observable("1236")
};
Cesium中的转化为监控属性的方法有两种,该对象中有个track()方法可以将视图模型对象的属性转化为监控属性
var ko=Cesium.knockout;
var viewModule={
name:"1236"
};
//转化为监控属性
1)ko.track(viewModule);
2)
//下面的方法与knockout.js中的ko.observable()的方法是相通的,可以说Cesium.knockout继承了knockout对象中的observable()方法。
var viewModule={
name:ko.observable("1236")
};
2.getObservable()方法
该方法只有Cesium.knockout对象有,ko对象中没有,该方法是Cesium中订阅通知的方法,获取监测某属性的函数,用于订阅通知
订阅通知的方法的方法
cesium中knockout订阅通知
var viewModule={
name:"通过track方法,创建监控属性",
id:"myid"
};
Cesium.konckout.track(viewModule);//给viewModule中的所有属性进行监测
ko中订阅通知
//ko监测属性
var viewModule={
name:ko.observable("通过track方法,创建监控属性"),
id:ko.observable("myid")
};
ko.applyBindings(viewModule);ko激活属性
viewModule.name.subscribe(function(value)//ko订阅通知的方法
{
//value值改变时的内容
});
注意这两者的区别千万这两者不要混用,否则会出线问题,尽量页面中出现其中的一种。