我的名字和姓氏是可观察的,用户名被计算出来。是否有可能使用户名可观察?在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. 计算可观察arrayIndexOf
- 4. 计算可观察问题
- 5. KnockoutJS调用可观察性
- 6. Knockoutjs可观察绑定
- 7. knockoutjs - 可观察到的可观察值的对象的observableArray
- 8. KnockoutJS添加计算的值到可观察阵列
- 9. KnockoutJS可观察对象的可观察对象
- 10. knockoutjs可观察对象的可观察数组绑定
- 11. 更新ObservableArray中的可观察值knockoutjs
- 12. 嵌套可观察到的在KnockoutJS
- 13. Knockout.js计算可观察不绑定到可观察数组
- 14. ReactiveKit/Bond中计算可观察
- 15. 是否可以观察-visibleRect
- 16. KnockoutJS观察对象的可观察对象
- 17. knockoutjs - 可观察数组内部的可观测值
- 18. 观察员可以观察多个可观察物吗?
- 19. 计算可观察动态变量
- 20. knockout.js可观察组/计算组
- 21. 计算可观察不更新值
- 22. 计算可观察基因敲除
- 23. knockout.js - 计算机或可观察
- 24. 问题ko.toJSON和计算可观察
- 25. knockoutjs,可观察更新彼此
- 26. Knockoutjs,取消可观察更新
- 27. KnockoutJS - 可观察对象doeasn't工作
- 28. knockoutJS JSON没有转换为可观察
- 29. KnockoutJs - 可观察绑定和范围
- 30. 即使在上次计算中未使用,也使观察值在观察的计算值中使用
一个计算已可观察到的。你想要做什么? – 2014-08-29 17:48:27
好吧我正在计算基于名字和姓氏的用户名。这是绑定到文本框的数据。 如果我编辑文本框,它不会更新计算。 – Sabby62 2014-08-29 17:56:20
淘汰赛需要知道如何获取价值并将其分成由它组成的变量。为此,您需要有一个'write'函数来描述如何从一个输入值转换为多个可观察值。通过演示查看我的答案更新。 – 2014-08-29 18:10:29