0

我正在尝试创建一个可重用的向导控件,该控件将显示基于 Knockout 的数据输入表单。本质上,模板永远不会真正改变,而是完全动态的。我设想能够做到以下几点:

  • 定义一个简单的模型,其中包含一个步骤列表,本质上是一个步骤 ID,也许还有一些关于该步骤是否可以在完成后返回的逻辑。
  • 然后,每个步骤都应该有一组要显示的字段或输入项。这真的分解为一个 HTML 标签和输入框。

我已经把我最初的想法/逻辑放在一起并想出了这个。我在显示字段时遇到问题。步骤标题都正确呈现,但我的 Fields 集合始终为空。我错过了什么?

4

1 回答 1

1

有趣的上下文。我根本无法让它在 Fiddle 中工作,但让它在本地工作。我更改了两件事 - 您需要明确关闭标题的跨度,并且您需要使用 if 来针对每个步骤对象测试字段是否存在,因为并非所有步骤都有字段。像这样:

        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>");
于 2012-07-10T09:45:41.433 回答