Observables
KO一个重要的功能是当你的view model改变的时候能自动更新你的界面。当你的view model部分改变的时候KO是如何知道的呢?答案是:你需要将你的model属性声明成observable的, 因为它是非常特殊的JavaScript对象,能够通知订阅者它的改变以及自动探测到相关的依赖。
var myViewModel = {
personName: ko.observable('Bob'),
personAge: ko.observable(123)
};
你根本不需要修改view– 所有的data-bind语法依然工作,不同的是他能监控到变化,当值改变时,view会自动更新。
读取监控属性的值,只需要直接调用监控属性(不需要参数),例如:
myViewModel.personName(); //将返回'Bob',
myViewModel.personAge(); //将返回 123。
写一个新值到监控属性上,调用这个observable属性并当新值作为参数。例如:
myViewModel.personName('Mary'); //将更新name值为'Mary'。