我有一个问题,即第二次从服务器更新数据时没有调用 init: 函数。
有什么理由会发生这种情况吗?
我正在使用映射插件。我不明白的另一个问题是我是否需要根据这是第一次调用还是第二次调用来不同地调用映射插件函数?
JS
function ViewMemberPopup(memberId) {
$.get("/People/GetMemberDetails?memberId=" + memberId, function (data) {
viewMemberModel.model = ko.mapping.fromJS(data);
ko.applyBindings(viewMemberModel.model, $("#memberDetailsContainer")[0]);
});
}
// binding handler
ko.bindingHandlers.renderMemberModal = {
init: function (element, valueAccessor, allBindingsAccessor) {
$(element).modal("show");
}
};
HTML: 我使用 renderMemberModal:true 作为绑定处理程序,不知道为什么我需要附加一个属性。我只需要调用渲染函数...
<div class="modal fade" id="viewMemberModal" data-bind="renderMemberModal: true" style="display: none;">
<div class="modal-header">
<a class="close" href="#">×</a>
<h3>
Member Details</h3>
</div>
<div class="modal-body">
<div data-bind="template: { name: 'memberDetailsTemplate' }">
</div>
</div>
<div class="modal-footer">
<a class="btnx closeModal">Close</a>
</div>
</div>
我正在使用引导 css 来显示模式弹出窗口。