knockoutJs学习笔记(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/song_jiang_long/article/details/53769554

1. 激活Knockout绑定

例如: 

var myViewModel = {
     personName: 'Bob' ,
     personAge: 123
};

Ko.applyBindings(myViewModel)


其中Ko.applyBinding方法第一参数表示想要使用它激活声明绑定视图的模型对象,可以通过提供第二个参数声明要将该模型绑定到文档的某一部分。写法如:Ko.applyBindings(myViewModel,document.getElemnetById('someElementId'));


2. 通过subscribe显示声明一个订阅事件

例如:

var myViewModel = {
     personName: ko.observable('jac') ,
     personAge: 123
};

var subscription = myViewModel.personName.subscribe( function (newValue) { /* do stuff */ });
// ...then later...
subscription.dispose(); // I no longer want notifications


订阅函数接收三个参数:一个参数:回调方法,回调是每当通知发生时调用的函数,第二个参数:目标(可选),在回调函数中定义这个值,第三个参数:事件名(可选),默认是“change”,可以更改接收通知的事件名称。


3. 强迫当监控属性值发生更改时,总是通知用户

myViewModel.personName.extend({ notify: 'always' });

4. 延迟或者抑制更改通知

通常,当监控属性的值发生更改时,就会立即通知用户。如果这个监控属性的值是反复更改或触发,那么对服务器来说性能是昂贵的。可以通过限制或延迟观察到的变化通知,使得拥有更好的性能。


// Ensure it notifies about changes no more than once per 50-millisecond period
myViewModel.personName.extend({ rateLimit: 50 });



猜你喜欢

转载自blog.csdn.net/song_jiang_long/article/details/53769554