动态设置模板名称

时间:2012-11-16 07:40:22

标签: knockout.js

如果下拉列表选定值发生变化,如何动态设置KO模板名称。

我试过了,但我没有得到正确的模板。

<select data-bind="options: Attributes, optionsText: 'AttributeName', optionsValue: 'Id', optionsCaption: 'Select Attribute...',value :SelectedAttribute"></select>
<div data-bind="template: { name: SelectedAttribute }"></div>

1 个答案:

答案 0 :(得分:0)

您应该确保SelectedAttribute不为空,并将()添加到observable以获取其值:

<!-- ko if: SelectedAttribute -->
<div data-bind="template: { name: SelectedAttribute() }"></div>
<!-- /ko -->

这是工作小提琴:http://jsfiddle.net/vyshniakov/HUExe/

在我看来,template绑定不会解包传递给name选项的值。