我一直在使用Knockoutjs,但有些东西我无法解决,而且我确信必须有一个简单的方法来实现它。
我非常喜欢使用" foreach"嵌套对象。在html上,然后直接访问这些对象的每个属性。这样就可以使代码简单明了。
问题在于,有时我使用observableArray只保存一个元素,以便使用" foreach方式"我提到了。
是否有其他说法"我现在在这个范围内",与" foreach"相同的行为。
示例:here
<body>
<!-- ko foreach: people -->
<div data-bind="text: name">name</div>
<!-- /ko -->
<br />
<!-- here I would like to say I'm inside 'importantPerson' and therefore name is a property of importantPerson -->
<!-- <div data-bind="text: name">name (important)</div> -->
<br />
</body>
答案 0 :(得分:1)
您正在寻找with
binding:
with绑定创建一个新的绑定上下文,以便后代元素绑定在指定对象的上下文中。
所以你的代码看起来像这样:
<body>
<!-- ko foreach: people -->
<div data-bind="text: name">name</div>
<!-- /ko -->
<br />
<!-- ko with: importantPerson -->
<div data-bind="text: name"></div>
<!-- /ko -->
<br />
</body>
演示JSFiddle。