如果我有一个带有类容器的div部分,我需要根据所选的下拉列表填充模板。我怎么能用knockout.js做到这一点。
<div class="container"></div>
<!--Dropdown-->
<select>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
<!--Templates-->
<script type="text/html" id="A-template">
<span data-bind="text:Value"></span>
</script>
<script type="text/html" id="B-template">
<span data-bind="text:Value"></span>
</script>
<script type="text/html" id="A-template">
<span data-bind="text:Value"></span>
</script>
答案 0 :(得分:1)
您可以使用计算来计算模板名称:
this.SelectionTemplate = ko.computed(function() {
return self.Value() + "-template";
});
您的模板绑定如下所示:
data-bind="template: { name: SelectionTemplate, data: $root }"
这是一个JSFiddle示例: http://jsfiddle.net/6Shce/1/