我正在尝试创建一个可重用的向导控件,它将显示基于Knockout的数据输入表单。从本质上讲,模板永远不会真正改变,但将是完全动态的。我设想能够做到以下几点:
我把我最初的想法/逻辑放在一起,然后提出this。我在显示字段时遇到问题。步骤标题都正确呈现,但我的Fields集合始终为空。我错过了什么?
答案 0 :(得分:1)
有趣的背景。我根本无法让它在Fiddle工作,但让它在当地工作。我更改了两件事 - 您需要明确关闭Title的范围,并且您需要使用if测试每个步骤对象的Fields的存在,因为并非所有步骤都有Fields。像这样:
templateEngine.addTemplate("merlin_wizard", "\
<div class=\"m-ui-wizard\">\
<div class=\"m-ui-wizard-steps\" data-bind=\"foreach: steps\">\
<div class=\"m-ui-wizard-step\">\
<span data-bind=\"text: Title\"></span>\
<!-- ko if: $data.Fields -->\
<!-- ko foreach: Fields -->\
<span data-bind=\"text: Label\" />\
<!-- /ko -->\
<!-- /ko -->\
</div>\
</div>\
</div>");