gpt4 book ai didi

mvvm - 淘汰赛2 : How to delay observable object.

转载 作者:行者123 更新时间:2023-12-03 10:20:05 26 4
gpt4 key购买 nike

嗨,我在淘汰赛 2 中有一个问题:我想做后期绑定(bind),因为我正在通过 jQuery 添加数据绑定(bind)

$("#button1").on ("click", function() {
lateBinding = $("#lateBindingElem);
if (lateBinding.length) {
lateBinding.attr("data-bind", "text: obs");
}
}
});

后期绑定(bind)是动态生成的 html。

我已经创建了一个 View 模型,名为 MyViewModel。

我想在现有 View 模型中动态添加另一个属性或另一个可观察对象(可以计算或未计算)?我该怎么做?

最佳答案

希望您已经在其他地方找到了答案(7个月前:D),但是由于我偶然发现了这个问题,希望找到类似问题的解决方案,我不妨尝试给出一个答案其他人调查它。这不会让您操作已绑定(bind)到模型的元素的绑定(bind),但允许您在给定点暂停绑定(bind)并将新创建的元素绑定(bind)到当前或不同的 View 模型。

建立在 Ryan Niemeyers great article about how to stop bindings 并伴随jsfiddle example little demo 它将新的输入元素添加到 dom 并将它们绑定(bind)到不同的 View 模型。

因为一旦您需要使用自定义绑定(bind)在某个点停止向下绑定(bind),您只能绑定(bind) dom 的一部分。

ko.bindingHandlers.stopBinding = {
init: function() {
return { controlsDescendantBindings: true };
}
};

将其分配给包装器

<div data-bind="stopBinding: true" id="addNewContentHere"></div>

并插入你的新元素

function addInput(){
var data=$('<input type="input" data-bind="value: newInput" />');
ko.applyBindings(MyViewModel, data[0]);
$('#addNewContentHere').append(data);
};

希望它有一些用处:)

关于mvvm - 淘汰赛2 : How to delay observable object.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13958294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com