我正在用 Durandal 构建一个向导小部件,我想像这样使用它:
<div data-bind="wizard: options">
<!-- Step 1 -->
<span data-part="step-header-1">
Step 1
</span>
<div data-part="step-content-1">
step content here
</div>
<!-- Step 2 -->
<span data-part="step-header-2">
Step 2
</span>
<div data-part="step-content-2">
step content here
</div>
</div>
这是实际的小部件(为简洁起见):
<div class="wizard-container">
<ul class="steps" data-bind="foreach: steps">
<li>
<span data-bind="html: heading"></span>
</li>
</ul>
<!-- ko foreach: steps -->
<div class="wizard-step" data-bind="css: { active: isActive }">
<div data-bind="html: content">
</div>
</div>
<!-- /ko -->
</div>
我已经让它工作了,使用 jQuery 来获取数据部分,将数据部分的内部 HTML 分配给我的步骤模型上的一个属性,然后使用 html 绑定将内容绑定到每个步骤。这适用于 DOM 方面,但这样做意味着我的步骤内容不会得到数据绑定。我很确定这是因为我使用了 html 绑定,它不绑定内容。
有没有办法使用 Durandal 小部件来做到这一点,而无需将每个步骤分成一个新视图?