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

PlT*_*lor 3 knockout.js

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

Joh*_*apa 5

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

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

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

这应该做到这一点.