我有一个knockout.js 的 View ,其中有一些文本框和下拉菜单。
已知当用户更改值时我会使用 $post 保存数据
为此我创建了一些计算属性,例如
self.subjectChanged ko.computed(function () {
var subject self.subject();
//save...
但这也会在主题从数据库加载并首次设置时触发。 最佳实践是什么?
一个类似的问题是我有一个函数 getdata() ,它依赖于两个属性。 现在加载时此方法会引发两次(对于每个属性)
处理这种情况的最佳实践是什么?
最佳答案
一种方法是正常加载页面并绑定(bind)数据,然后使用订阅来监视您感兴趣的可观察对象的更改。 http://knockoutjs.com/documentation/observables.html#explicitly-subscribing-to-observables
viewModel.subject.subscribe(function(newValue) {
// code you want to run when the value changes...
});
关于javascript - knockout.js 阻止第一个值更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24192620/