我的名字和姓氏是可觀察的,用戶名被計算出來。是否有可能使用戶名可觀察?在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