【发布时间】:2017-05-30 08:40:28
【问题描述】:
我是 Knockoutjs 的新手,所以请多多包涵。
我想 knocoutjs 将一个 DxForm (DevExpress) 绑定到一个 javascript 对象属性,但我收到一个错误...“无法读取未定义的属性 'items'”。
我不确定这是淘汰赛问题、DevExpress 问题还是我的编码技能不足。
这是我的代码...
HTML:
<div data-bind="dxForm: frm.options"></div>
Javascript:
var viewModel = function() {
var that = this;
// -----------------------------------------------------------------
// Faste...
// -----------------------------------------------------------------
that.frm = {
items: ko.observable(undefined),
data: ko.observable(undefined),
instance: ko.observable({}),
options: {
items: that.frm.items,
formData: that.frm.data,
onInitialized: function(e) {
that.frm.instance(e.component);
},
},
};
return {
frm: that.frm,
};
};
var vm = new viewModel();
ko.applyBindings(vm);
var items = [{
"dataField": "test",
"editorOptions": {
"type": "date",
"pickerType": "calendar",
},
"editorType": "dxDateBox",
"name": "Test",
"visible": true
}];
var data = {
test: 10,
};
vm.frm.data(data);
vm.frm.items(items);
JSFiddle:https://jsfiddle.net/MojoDK/ke395v2c/3/
我想绑定到对象,因为我将使用多个 DxForm 对象,并且我喜欢将每个 DxForm 的代码保存在一个对象中(更易于阅读)。
知道为什么会失败吗?
谢谢。
【问题讨论】:
标签: javascript knockout.js devextreme