是否可以显示依赖于int值的字符串值?
例如,我有一个数组可观察列表,其中一个元素是int。我不想显示int,但依赖于int值,string。
例如,如果我有1,我想显示“一个”,2 - > “其他”继续。
现在我有:
<td data-bind="text: test_value"></td>
它在foreach循环中。
答案 0 :(得分:3)
有多种方法可以实现这一目标。
最简单的解决方案就是声明一个查找对象并在绑定绑定中进行查找:
<td data-bind="text: $root.strings[test_value]"></td>
视图模型具有strings
查找对象,如下所示:
strings: {
1: 'test',
2: 'other',
3: 'thrid'
}
演示http://jsfiddle.net/zuq0whhw/。
注意:
$parent
或$root
(取决于你的设置)来访问你的查询对象,这可以在“更高级别”声明。test_value
是KO可观察对象,则需要编写$root.strings[test_value()]
,因为KO observables是函数,您需要调用它们而不需要任何参数来获取底层值。更复杂,更易维护的解决方案是使用computed properties在视图模型中执行查找逻辑,或创建一个封装此逻辑的custom binding,然后您可以将其用于任何其他属性,如好。