使用Computed Value访问Knockout中父视图模型中的函数

时间:2012-01-06 21:08:04

标签: knockout.js

我试图在子视图模型中使用我的主视图模型中定义的函数。我创造了一个小提琴,我认为应该展示我想要做的事情并且不能正常工作here。还有更好的方法来完成我正在做的事情吗?

2 个答案:

答案 0 :(得分:5)

我认为您希望能够从子部件模型中查找父视图模型中的制造商列表。我改变了你的小提琴中的一些东西并创建了一个解决这个问题的新东西: http://jsfiddle.net/johnpapa/dsZ76/

首先,data-bind属性在应该使用文本时使用了值。 <p>标记也应使用结束标记。此外,您绑定到制造商属性,但这是返回的对象,因此它应该是manufacturer().name

在JavaScript中,我添加了“this”作为计算的第二个参数。然后“this”成为所有者,因此您可以在计算函数内使用它来表示Part模型。然后我更改了执行查找的函数,而不是使用stringStartsWith。在调用创建零件之前移动了getManaufacturers的定义(因为零件模型调用它)。最后,我将“self”传递给Part函数,该函数变为父参数。

这应该这样做。

答案 1 :(得分:1)

John比我快:)我做了类似的改变。 http://jsfiddle.net/gurkavcu/qKFHB/