javascript - knockout.js 阻止第一个值更改

标签 javascript knockout.js

我有一个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...
});

例如http://jsfiddle.net/m8mb5/

关于javascript - knockout.js 阻止第一个值更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24192620/

相关文章:

asp.net - 在 jQuery 中解析 A​​SP.NET 的 URL?

javascript - Angular 2在ngFor中显示/隐藏偶数/奇数项目的换行标签

jquery - 从 JQuery onclick 调用 Knockout.js viewModel 函数

javascript - 为 Web Worker 使用不同的 output.libraryTarget

javascript - 如何使用正则表达式使用 imacros eval 删除文本中的最后一句

javascript - Crossrider "appAPI.message.toAllTabs"方法的消息发送顺序

javascript - KnockoutJS 双绑定(bind)小部件应用程序

knockout.js - knockout : Why would comment tags not be working?

javascript - 选择显示/隐藏时的 Knockout 计算重置

javascript - jquery 向第一个 child 添加元素?