我正在填写一份调查问题列表。点击调查问题后,会弹出一个带有结果图形的模态。要创建我的列表,我使用的是淘汰模板,因为我需要afterRender
函数。
这是我的标记:
<div id="priorityMenuW" class="priorityMenuW shadow">
<div class="menuHeader">Select a Survey Question:</div>
<div id="priorityMenu" data-bind="foreach:questionTypes">
<div class="menucategory menuItem" data-toggle="tooltip" data-bind="text:CategoryName, attr:{title:CategoryName}"></div>
<div class="menuitem" data-toggle="tooltip" data-bind="foreach:$root.questions">
<!-- ko if: CategoryName == $parent.CategoryName-->
<div data-bind='template: { name: "question-template",
data:$root.questions,
afterRender: $root.storeQuestionIdOrder }'>
</div>
<!-- /ko -->
</div>
</div>
</div>
我的模板:
<code><script type="text/html" id="question-template">
<div class="menuItem" data-toggle="tooltip" data-bind="html:'• '+ $parent.QuestionText, attr:{title:$parent.QuestionText}, css: {'itemSelected' : $root.isPriorityActive($data)}, click: function($data,event){$root.questionChoice($data,event)}"></div></script></code>
我的问题是,通过向函数$data
发送questionChoice
,我收到了一个包含所有模板化对象的数组。如何访问单击的特定对象?我想的可能是$data[$index]
,但这不起作用。
答案 0 :(得分:1)
如果您想使用$data[$index]
,请记住$index
是一个可观察的,需要进行评估:
$data[$index()]