javascript - 使用 Knockout 从数组中设置正确文本时遇到问题
问题描述
我正在循环一个数组:
<tbody data-bind="foreach: devices">
我的一个专栏拥有一个clientId
<td data-bind="text: clientId"></td>
但不是那个clientId,我想输出lastName,它位于另一个客户端对象的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)
在 root 中有一个函数,你应该:
<td data-bind="text: $root.findClient(clientId())"></td>
推荐阅读
- junit - 当我使用@ExtendWith(MockitoExtension.class) 时如何修复错误?
- c - 打印 int_fast_32_t 等数据类型的可移植和正确方法是什么
- reactjs - useContext 没有更新某些组件,而它对其他人工作正常
- android - 如何在覆盖的函数上运行协程 - android?
- r - R 当赋值 (a<-b) 可以返回 FALSE 如果 b 不能返回 FALSE
- android - gradle copy 任务不复制文件但成功构建
- tomcat - 为什么通过sdkman安装tomcat时缺少tomcat命令的可执行权限?
- reactjs - 我们可以在 map 方法中使用 state 属性作为组件吗?
- amazon-web-services - 如何更新 Aurora Serverless MySQL 集群?
- biztalk - 使用地图转换消息时出现 Biztalk 2020 异常