【发布时间】:2017-07-21 11:00:15
【问题描述】:
我有一个通过 ajax 调用传递给我的淘汰视图模型的 JSON 有效负载。 payload的结构类似于:
{
"categories":[
{
"name":"Category 1",
"questions":[
{
"id": 1,
"questionText":"Question?",
"controlType":"text"
},
{
"id": 2,
"questionText":"Question?",
"controlType":"radiobutton",
"possibleAnswers":[
{
"answerId":1,
"text":"Yes"
},
{
"answerId":2,
"text":"No"
}
]
}
]
}
]
}
在我的模板内部,我有一个循环遍历所有类别的 ForEach 循环,然后还有一个循环遍历该类别的所有问题的第二个 ForEach 循环。我需要根据每个问题的“controlType”动态创建输入、选择和文本区域,然后将它们绑定到一个 observableArray,其结构类似于:
[
{
"questionId":1,
"answerId":1
}
]
我制作了一个可以在 foreach 中动态呈现 html 的函数,但我不确定如何完成其余的工作。
这是一个演示模板:
<div data-bind="foreach:categories">
<h2 data-bind="text:name"></h2>
<div data-bind="foreach:questions">
<span data-bind="text:questionText"></span>
<div data-bind="html:$parents[0].createControl($data)"></div>
</div>
</div>
如何绑定和存储这些输入的结果?
【问题讨论】: