欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
您的位置:DIVCSS5首页 > HTML >
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 <span data-bind="text: fullName"></span>

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h64569.shtml

如对文章有任何疑问请提交到DIV CSS论坛,或有任何网页制作CSS问题立即到CSS论坛发贴求解 或 直接DIVCSS5网页顶部搜索遇到DIVCSS疑问。
CSS教程文章修订日期:2018-08-14 17:37 原创:DIVCSS5
本文www.divcss5.com DIVCSS5版权所有。