我有以下KnockoutJS代码,以便为地址表单编辑器进行数据绑定,在这里我可以有4种地址类型(“home”,“office”等)。
现在一切都运行良好但是selectedAddress被硬编码为索引0
self.selectedAddress = ko.observable(self.addresses[0]);
我想要选择第一个填充了数据的地址对象,而不是这样做。
关于如何做到这一点的任何线索?
欣赏。
答案 0 :(得分:1)
Knockout的实用程序功能提供了非常便利的arrayFirst
功能,这使得这很简单:
self.selectedAddress = ko.observable(
ko.utils.arrayFirst(self.addresses(), function(item) {
return item.address1().length > 0;
}));
以下是KO's utility functions的便捷参考: