无法使用 Knockout 从数组中设置正确的文本

Trouble setting correct text from an array, using Knockout

我正在遍历一个数组:

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

我的一个专栏包含 clientId

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

但我想输出 lastName 而不是那个 clientId,它位于另一个 observableArray 的客户端对象中:

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

self.client           = ko.observableArray();

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

谁能帮帮我?

谢谢。

$root你可以获得数据模型的根实例,所以你可以在client() observableArray中找到客户端。 假设你在 root 中有一个 findClient(id) 函数,你应该:

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