Jquery ui 淘汰嵌套控件绑定

Jquery ui 淘汰嵌套控件绑定,jquery-ui,knockout.js,Jquery Ui,Knockout.js,我希望以一种相当草率的方式使用knockout将对象绑定到jQueryUI对话框中的元素。有相当多的事情发生了,但我很早就被击倒了,因为我抱怨嵌套在控件绑定中的属性没有定义 <div class="feedback-container" data-bind="with: feedback"> [... Other Bindings Here...] <div class="feedback-list" data-bind="foreach: list"> <

我希望以一种相当草率的方式使用knockout将对象绑定到jQueryUI对话框中的元素。有相当多的事情发生了,但我很早就被击倒了,因为我抱怨嵌套在控件绑定中的属性没有定义

<div class="feedback-container" data-bind="with: feedback">
[... Other Bindings Here...]
<div class="feedback-list" data-bind="foreach: list">
    <div class="item">
        [... List binding here ...]
    </div>
</div>

<!-- Dialog Box for editing/creation-->
<div style="display: none" data-bind="with: $root.feedback.editFeedback">
    <div id="dialog_add_feedback" data-bind="attr: { title: mode }">
        <div class="form">
            <div class="field" data-bind="if: $root.feedback.mode() == 'contact'">
                <label>Lot</label>
                <input type="text" data-bind="value: lot"/>
            </div>
            <div class="field" data-bind="if: $root.feedback.mode() == 'lot'">
                <label>Contact</label>
                <input type="text" data-bind="value: contact"/>
            </div>

        </div>
    </div>
</div> 
</div> 
通过如此定义反馈构造函数(为了简单起见,我删除了一大堆其他绑定):

Knockout被绑定到title的属性阻塞。这是怎么发生的?editFeedback为空,带有控件绑定的ko应该完全阻止子体绑定被绑定

这和我在另一个绑定中有一个绑定有关吗?允许吗

Unable to parse bindings. Message: ReferenceError: mode is not defined; Bindings value: attr: { title: mode }

这里显示的代码没有问题


也许你可以用这把小提琴来演示你的问题:?你到底在叫
.dialog
?如果你是,那么我的怀疑是你遇到了同样的问题:对话框被移到底部,KO试图再次绑定它。你是对的,很抱歉,我后来发现,我在使用knockout时遇到许多不同问题的原因是因为我有一个可观察数组,其中包含可观察对象,该数组也由可观察数组和对象组成。许多可观察到的嵌套都是不必要的,一旦移除,我就可以让一切正常工作。
function Feedback(mode) {
    var self = this;

    self.list = ko.observableArray([]);
    self.mode = ko.observable(mode);
    self.editFeedback = ko.observable();
}         
Unable to parse bindings. Message: ReferenceError: mode is not defined; Bindings value: attr: { title: mode }