为此,我有以下主要工具集:Knockout,jQuery和jQueryUI(jQueryUI不是我的特别选择,但该船已经航行)。
在JSFiddle link中,以下代码目前有效:
$(document).ready(function () {
vm = new FeedbackNamespace.ViewModel();
ko.applyBindings(vm);
});
但是,当我将ko.applyBindings(vm)
更改为:
ko.applyBindings(vm, document.getElementById('FeedbackArea'));
绑定的链接部分(即用于显示对话框的viewmodel函数的mound)仍然有效。但是, 模式对话框中的任何绑定都不起作用。
预先感谢您提供任何帮助!
答案 0 :(得分:3)
问题在于:
self.Start();
这会设置模态,将其从FeedbackArea
div中删除。这发生在创建 viewmodel的过程中,这样当这个新创建的vm实际上在片刻之后实际应用于div时,该模态现在已经消失了,这就是为什么它内部的任何内容都没有响应它当您将VM应用于整个页面时。
我会确保在应用绑定后调用Start方法。