Knockoutjs afterRender не запускает собственный шаблон - PullRequest
3 голосов
/ 20 марта 2012

Рассмотрим некоторую разметку HTML, которая использует частичное представление MVC для создания диалога.Когда selectedMember установлен на viewmodel, диалоговое окно заполняется, и вызывается событие openDialog, которое вызывает диалог Jquery («open»).

Я использую событие afterRender, чтобы обеспечить работу ненавязчивой проверки, так как диалог динамическисоздано.Однако функция afterRender никогда не вызывается?

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

Кто-нибудь знает, почему это не работает.Похоже, что это работает нормально с использованием шаблонизатора Jquery.

1 Ответ

5 голосов
/ 20 марта 2012

Вы должны указать это как:

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

Если вы не укажете имя для шаблона, он будет использовать анонимные шаблоны. Таким образом, это эквивалент with с afterRender.

...