Knockout.Js中的Observables监控属性
导读:Knockout.Js中的Observables监控属性 KO一个重要的功能是当你的view model改变的时候能自动更新你的界面。当你的view model部分改变的时候KO是如何知道的呢?答案是:你需要将你的model属性声明成ob...
Knockout.Js中的Observables监控属性
KO一个重要的功能是当你的view model改变的时候能自动更新你的界面。当你的view model部分改变的时候KO是如何知道的呢?答案是:你需要将你的model属性声明成observable的, 因为它是非常特殊的JavaScript objects,能够通知订阅者它的改变以及自动探测到相关的依赖。
var myViewModel = {
personName: ko.observable('aehyok'),
personAge: ko.observable(25)
}
;
你根本不需要修改view – 所有的data-bind语法依然工作,不同的是他能监控到变化,当值改变时,view会自动更新。
监控属性的读操作(read)
///监控属性的读操作(read)
alert(myViewModel.personAge);
监控属性的写操作(write)
///监控属性的写操作(write)
myViewModel.personName("aehyok-Test");
Dependent Observables依赖监控属性
如果你已经有了监控属性firstName和lastName,你想显示全称怎么办? 这就需要用到依赖监控属性了 – 这些函数是一个或多个监控属性, 如果他们的依赖对象改变,他们会自动跟着改变。
例如:继续在上面的ViewModel中添加两个属性 firstName和lastName
var myViewModel = {
personName: ko.observable('aehyok'),
personAge: ko.observable(25),
firstName: ko.observable('aehyok'),
lastName: ko.observable('Leo')
}
;
并且添加一个依赖监控属性,来返回姓名的全称
///依赖监控属性
myViewModel.fullName = ko.dependentObservable(function () {
return this.firstName() + " " + this.lastName();
}
, myViewModel);
并且绑定到View视图界面上的元素
The fullname is
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Knockout.Js中的Observables监控属性
本文地址: https://pptw.com/jishu/655741.html
