【发布时间】:2014-07-01 01:19:06
【问题描述】:
我正在模拟一个使用 Durandal 的网站,以保持我的淘汰赛 js 整洁,但当涉及到 Durandal 时,我承认我是初学者。
我经常需要遍历 viewModel 中的一组项目并绑定小部件,但我发现我必须明确地重复“设置”绑定。
例如:
<section data-bind="foreach: secondaryKpis" class="row">
<div data-bind="widget: {
kind: 'kpiSecondary',
name: $data.name,
columns: $data.columns,
delta: $data.delta,
description: $data.description,
vsDelta: $data.vsDelta,
vsDescription: $data.vsDescription
}">
</div>
</section>
在 foreach 的上下文中,$data 已经包含我想绑定到自定义小部件 kpiSecondary 的所有属性,并且键入 { someProperty: $data.someProperty, ... } 似乎有点多余。
我知道我可以这样做:
<section data-bind="foreach: secondaryKpis" class="row">
<div data-bind="widget: {
kind: 'kpiSecondary',
data: $data
}">
</div>
</section>
但这需要我在自定义小部件中将数据变量解包到 this.settings 中,这是正确的方法还是有一个干净和标准的方法来做到这一点,我只是没有遇到还没有?
【问题讨论】:
标签: knockout.js durandal