我正在使用knockout.js
库。我有一个布尔值,我将其保存为Observable。但是当我尝试在下拉列表中选择索引更改事件时获取值。它给了我这个错误:
Object function viewModel(model) {
this.stocks = ko.observableArray(model.stocks);
this.isGeneral = ko.observable(model.generalStockEnabled);
} has no method 'isGeneral'
这是我注册模型的代码:
function viewModel(model) {
this.stocks = ko.observableArray(model.stocks);
this.isGeneral = ko.observable(model.generalStockEnabled);
}
这是我的下拉列表事件:
$('#enableGeneratInventorydl').change(function () {
if ($('#enableGeneratInventorydl :selected').val() === "True")
{
alert(viewModel.isGeneral())
}
else
{
}
});
我在页面初始化时调用它
ko.applyBindings(new viewModel(data));
数据对象的布尔值为generalStockEnabled。
任何想法?
答案 0 :(得分:1)
您可以创建全局变量viewModel
,这将很有效:
function viewModel(model)
{
this.stocks = ko.observableArray(model.stocks);
this.isGeneral = ko.observable(model.generalStockEnabled);
}
window.myViewModel = new viewModel(data);
//...
ko.applyBindings(window.myViewModel);
现在您可以随时拨打myViewModel.isGeneral()
$('#enableGeneratInventorydl').change(function ()
{
if ($('#enableGeneratInventorydl :selected').val() === "True")
{
alert(myViewModel.isGeneral())
// ...