サーバーからデータが2回更新されたときに、init:関数が呼び出されないという問題があります。
これが起こるかもしれない理由はありますか?
マッピングプラグインを使用しています。私が理解していないもう1つの問題は、これが1回目の呼び出しであるか2回目の呼び出しであるかに応じて、マッピングプラグイン関数を異なる方法で呼び出す必要があるかどうかです。
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を使用しています。