gpt4 book ai didi

javascript - KnockoutJS,绑定(bind) View

转载 作者:行者123 更新时间:2023-12-03 04:41:03 24 4
gpt4 key购买 nike

我正在努力解决 KnockoutJS 的问题,下面有 block 代码

var viewModel = function (value){
this.name = ko.observable(value);
}
var model = {}; model.firstName = "ABC";
var AppViewModel = new viewModel(model.firstName);
ko.applyBindings(AppViewModel);

在 HTML 中我有一个带有绑定(bind)的 View

data-bind="textInput: name".

干得好。 TextView 显示文本:“ABC”。我有个问题。当我更改 TextView 中的值时。该模型(特殊的firstName)是否从textView更新新值?

最佳答案

问题是 model.firstNameobject property但这不是observable ,而是使用 object property设置observableobservable是双向绑定(bind),如果你想要 firstName要成为可观察/双向绑定(bind),您可以这样做:

var viewModel = function (){
VM = this;
VM.firstName = ko.observable("ABC");
return VM;
}

var AppViewModel = new viewModel();
ko.applyBindings(AppViewModel);

这里我们创建一个函数viewModel()返回 object拥有属性(property)firstName这是一个包含 "ABC" 的 knockout 可观察量。然后我们创建该 View 模型的实例并将其应用到页面。现在,如果您对输入进行任何更改,它应该更新 AppViewModel.firstName 的值.

或者为了使其与您的代码更相似,您可以这样做:

var viewModel = function (){
this.firstName = ko.observable("ABC");
}

var AppViewModel = new viewModel();
ko.applyBindings(AppViewModel);

请注意,无需创建 model具有属性 firstName 的对象,您只需初始化 observablestring它将拾取 textInput 中所做的任何更改绑定(bind)。

关于javascript - KnockoutJS,绑定(bind) View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43088479/

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