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