考虑一些使用MVC部分视图创建对话框的HTML标记。
在视图模型上设置selectedMember时,将填充对话框,并调用openDialog事件,该事件将调用Jquery dialog(“ open”)。

由于对话框是动态创建的,因此我使用afterRender事件来确保顺利进行验证。但是,从不调用afterRender函数吗?

<div id="dlgAddMember" class="hidden" data-bind="with: selectedMember, openDialog: selectedMember, afterRender:hookupValidation">
        @Html.Action(ekmMvc.People.AddMemberDialog())
</div>


有谁知道为什么这不起作用。看来使用Jquery模板引擎可以正常工作。

最佳答案

您需要像这样指定它:

data-bind="template: { data: selectedMember, if: selectedMember, afterRender: hookupValidation }"


当您不为模板指定名称时,它将使用匿名模板。因此,这等效于with和afterRender。

关于knockout.js - Knockoutjs afterRender未在 native 模板上触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9788814/

10-08 21:22