无法绑定淘汰的$ parent

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法绑定淘汰的$ parent相关的知识,希望对你有一定的参考价值。

我是KnockOut的新手,我有一个这样的模型:

let viewModel = {
    teams: ko.observableArray([]),
    employees: ko.observableArray([]),
    projects: ko.observableArray([])
}

我有一个divdata-bind="foreach: teams"。但是,当我尝试使用div时,在$parent内部,例如:

data-bind="text: $parent.employees[0].FirstName"

当我尝试运行它时,我收到这样的消息:

enter image description here

谁知道如何解决这个问题?非常感谢。

答案

重写你的绑定

data-bind="text: $parent.employees()[0].FirstName"

由于您将employees声明为observableArray,因此您必须对其进行评估,然后您可以使用索引访问基础数组。

请记住:

var test = ko.observableArray([]);

console.log(test); // this is a function
console.log(test()); // this is the actual array

以上是关于无法绑定淘汰的$ parent的主要内容,如果未能解决你的问题,请参考以下文章

淘汰赛无法处理“foreach”的绑定

淘汰赛无法处理绑定“foreach”

淘汰赛无法绑定 $root

未捕获的类型错误:无法通过淘汰处理绑定“if”

未捕获的 ReferenceError:无法处理绑定 - 带有淘汰赛的 jquery mobile

淘汰 JS $parent 对象在 for-each 循环中更改其信息