Javascript 如何将现有DOM元素绑定到KnockoutJS视图模型
如果JS值发生更改,我将使用KnockoutJS更新DOM(Knockout为我们提供了这些函数) 默认的淘汰视图模型类似于以下块: Javascript:Javascript 如何将现有DOM元素绑定到KnockoutJS视图模型,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,如果JS值发生更改,我将使用KnockoutJS更新DOM(Knockout为我们提供了这些函数) 默认的淘汰视图模型类似于以下块: Javascript: var viewModel = { price: ko.observable(109) } Html: 现在,当价格发生变化时,视图会自动通过淘汰更新。。 但我想要的是: var viewModel = { price: ko.observable(jQuery("#price")) } <span id="p
var viewModel = {
price: ko.observable(109)
}
Html:
现在,当价格发生变化时,视图会自动通过淘汰更新。。
但我想要的是:
var viewModel = {
price: ko.observable(jQuery("#price"))
}
<span id="price">99.00</span>
var viewModel={
价格:ko.可观察(jQuery(“价格”))
}
99
因此,我想将DOM元素绑定到我的viewModel。模型中的price属性初始化为值99.00。当价格发生变化时(在Javascript中),还应更新#price的DOM值
我希望你们清楚这个问题
非常感谢您抽出时间 尝试使用依赖的可观察对象
var viewModel = {
price: ko.observable(109)
}
viewModel.priceElement= ko.dependantObservable(function(){
viewModel.price();
return jQuery("#price");
})
这将在每次更改价格时更新。您的视图模型应初始化如下:
var viewModel = {
price: ko.observable(jQuery("#price").text())
}
<span id="price" data-bind="text: price">99.00</span>
。。你应该写
viewModel.price('some new value');
这种方法将更符合MVVM模式。如果我理解正确,则不会。您仍然需要使用
数据绑定
内联。
jQuery("#price").text('some new value');
viewModel.price('some new value');