我正在遍历数组:

 <tbody data-bind="foreach: devices">


我的一列中包含一个clientId

<td  data-bind="text: clientId"></td>


但是我想输出lastName,而不是那个clientId,它位于另一个Client对象的observableArray内部:

let Client = function(clientId, lastName){
    this.clientId   = ko.observable(clientId);
    this.lastName = ko.observable(lastName);
}

self.client           = ko.observableArray();


所以以某种方式,在我的表列中,我需要搜索客户端数组,找到当前的clientId(我们处于循环中),然后在TD中打印出lastName而不是clientId。

谁能帮我吗?

谢谢。

最佳答案

使用$root可以获取数据模型的根实例,因此可以在client()observableArray中找到客户端。
假设您在根目录中具有findClient(id)函数,则应该:

<td data-bind="text: $root.findClient(clientId())"></td>

关于javascript - 使用Knockout无法从数组设置正确的文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58090463/

10-12 14:06