4
我正在使用knockout一點點,並且我被某些東西卡住了。我做了一個例子,你創建了名字,姓氏,然後創建一個ko.computed來創建fullName。這工作正常,但讓我們說我有一個可觀察的數組與很多包含名字和姓氏的對象。如何使用計算的函數來創建全名?如果我創造這樣:如何在foreout中使用foreach中的計算方法knockout.js
function vm() {
....
self.fullName = ko.computed(function() {
return self.names().firstName + "" + self.names().lastName;
}
,因爲這是一個視圖模型的方法,並在foreach內結合淘汰賽會尋找當地的方法我不能使用它(在這種情況下,self.names的方法())
也不能使用$ root.fullName,因爲敲除將不會檢索正確的值。
小提琴:http://jsfiddle.net/mtfv6q6a/
請問作品,但在這種情況下,我可能只是做$ root.returnFullName($數據)。感謝 – 2014-09-03 14:49:25
的理解,你不要調用計算函數,當包含observable發生變化時,計算函數被稱爲automaticaly,所以 – 2014-09-03 18:16:45
謝謝你的jsfiddle - 用你的例子我能夠讓我的代碼工作。順便說一下,在循環中,如果您不想像第一步中那樣爲模型分配變量(「appModel」),可以調用$ parent.fullName()。 – Roger 2017-04-25 20:34:38