我的名字和姓氏是可观察的,用户名被计算出来。是否有可能使用户名可观察?在KnockoutJS中计算也可以是可观察的
回答
Knockout中计算出的已经是可观察类型。如果你想要做的是设置一个计算值,那么你可以使用read
和write
属性来完成。
这里的设置姓和名的一种非常原始的例子:
var fn = ko.observable("Jimbo");
var ln = ko.observable("Jangles");
var vm = {
myComputed : ko.computed({
read: function() { return fn() + " " + ln(); },
write: function (value) {
var pieces = value.split(" ");
fn(pieces[0]);
ln(pieces[pieces.length -1]);
}
})
};
这里有一个工作示例:http://jsfiddle.net/xxkLs0p8/
感谢您的快速工作示例。非常感谢。事情是改变用户名不应该更新其他observable。简言之 - 改变计算结果不应该影响其他观察值的值。例如绑定到相同的两个文本框数据计算。更新一个文本框中的值应该更新另一个文本框中的值。 – Sabby62 2014-08-29 18:20:18
在这种情况下,您可以更新一个单独的变量并检查它是否在读取中未定义。像这样:http://jsfiddle.net/xxkLs0p8/2/ – 2014-08-29 18:24:39
它不工作http://jsfiddle.net/xxkLs0p8/3/ – Sabby62 2014-08-29 18:29:39
- 1. KnockoutJS:可写计算可观察不更新
- 2. KnockoutJS调用可观察性
- 3. knockoutjs - 可观察到的可观察值的对象的observableArray
- 4. 计算可观察问题
- 5. KnockoutJS添加计算的值到可观察阵列
- 6. KnockoutJS可观察对象的可观察对象
- 7. knockoutjs可观察对象的可观察数组绑定
- 8. 嵌套可观察到的在KnockoutJS
- 9. ReactiveKit/Bond中计算可观察
- 10. knockoutJS JSON没有转换为可观察
- 11. 作为KnockoutJS可观察功能
- 12. Knockoutjs,取消可观察更新
- 13. knockoutjs,可观察更新彼此
- 14. 观察员可以观察多个可观察物吗?
- 15. 问题ko.toJSON和计算可观察
- 16. 在KnockoutJS中是否可以在原型上计算observables?
- 17. 将可观察数据和计算数据推送到可观察数组
- 18. KnockoutJS json对象/可观察的“可见”绑定不起作用
- 19. Knockoutjs不是将数组转换为可观察数组?
- 20. 如何在UI中使用foreach来计算可观察数组?
- 21. knockout.js计算可观察性在Internet Explorer中调用两次
- 22. 在另一个可观察的订阅中嵌套可观察订阅是否可以接受
- 23. 如何添加计算的可观测到knockoutjs映射
- 24. 如何更新knockoutjs中的可观察数组元素?
- 25. Knockout如何计算可观察寄存器与相关的可观测值?
- 26. 在attr绑定内部不能计算可观察的敲除
- 27. knockoutjs,通过自定义绑定修改时未观察到可观察阵列
- 28. 类似的可观察运算符Promise.resolve()
- 29. 在knockoutjs上绑定按键事件,可观察未填充
- 30. Java观察者和可观察的
一个计算已可观察到的。你想要做什么? – 2014-08-29 17:48:27
好吧我正在计算基于名字和姓氏的用户名。这是绑定到文本框的数据。 如果我编辑文本框,它不会更新计算。 – Sabby62 2014-08-29 17:56:20
淘汰赛需要知道如何获取价值并将其分成由它组成的变量。为此,您需要有一个'write'函数来描述如何从一个输入值转换为多个可观察值。通过演示查看我的答案更新。 – 2014-08-29 18:10:29