Javascript 敲除绑定未更新

Javascript 敲除绑定未更新,javascript,knockout.js,Javascript,Knockout.js,我的淘汰绑定未更新。我有一个字段,我已经设置为 this.firstName = ko.observable("Bert"); 当我打电话时: AppViewModel.firstName(name); 我需要它来更新。下面是一个JSFIDLE: function AppViewModel() { this.firstName = ko.observable("Bert"); this.lastName = ko.observable("Bertington"); } //

我的淘汰绑定未更新。我有一个字段,我已经设置为

this.firstName = ko.observable("Bert");
当我打电话时:

AppViewModel.firstName(name);
我需要它来更新。下面是一个JSFIDLE:

function AppViewModel() {
    this.firstName = ko.observable("Bert");
    this.lastName = ko.observable("Bertington");
}
// Activates knockout.js
ko.applyBindings(new AppViewModel());

// When I click button I want the name to change
$('input[type=button]').click( function() {
    var name = 'New Name';
    AppViewModel.firstName(name);
});    
当你写作时

new AppViewModel()
您正在创建一个新的AppViewModel对象。但是,您永远不会保存对该对象的引用

当您尝试更新AppViewModel.firstName(name)时,
AppViewModel
是您的构造函数,您正在调用构造函数上不存在的方法。您需要将对象创建为变量,然后引用它

var app = new AppViewModel();

...

app.firstName(name);
这是您的更新,它现在正在工作。

当您编写

new AppViewModel()
您正在创建一个新的AppViewModel对象。但是,您永远不会保存对该对象的引用

当您尝试更新AppViewModel.firstName(name)时,
AppViewModel
是您的构造函数,您正在调用构造函数上不存在的方法。您需要将对象创建为变量,然后引用它

var app = new AppViewModel();

...

app.firstName(name);

这里是对您的更新,它现在正在工作。

您正在引用AppViewModel类,而不是实际的对象。。。尝试在使用knockout绑定之前实例化视图模型,然后引用实例:

function AppViewModel() {
    this.firstName = ko.observable("Bert");
    this.lastName = ko.observable("Bertington");
}
var vm = new AppViewModel();
// Activates knockout.js
ko.applyBindings(vm);

//When I click button I want the name to change
$('input[type=button]').click( function() {
var name = 'New Name';
vm.firstName(name);

});
这是小提琴:

您正在引用AppViewModel类,而不是实际的对象。。。尝试在使用knockout绑定之前实例化视图模型,然后引用实例:

function AppViewModel() {
    this.firstName = ko.observable("Bert");
    this.lastName = ko.observable("Bertington");
}
var vm = new AppViewModel();
// Activates knockout.js
ko.applyBindings(vm);

//When I click button I want the name to change
$('input[type=button]').click( function() {
var name = 'New Name';
vm.firstName(name);

});
这是小提琴:

是否有任何理由将名称更新功能保留在模型之外

这个怎么样:

html更新

<input type="button" value="test" data-bind="click: NewName" />

是否有任何理由将名称更新功能保留在模型之外

这个怎么样:

html更新

<input type="button" value="test" data-bind="click: NewName" />

你确定那是正确的小提琴吗?似乎没有你的任何代码…我们也可以看到你的html标记吗?只是更新了它。HTML是存在的对不起..是的,我想出来了,你只是使用了旧版本的小提琴。没问题你确定那是正确的小提琴吗?似乎没有你的任何代码…我们也可以看到你的html标记吗?只是更新了它。HTML是存在的对不起..是的,我想出来了,你只是使用了旧版本的小提琴。没问题