我正在尝试使用带有adobe air应用程序的knockout.js库将我的HTML元素中的数据绑定到我的视图模型。构建似乎很成功,并没有得到其他人注意到的任何安全沙箱错误,但我不确定为什么绑定不成功。以下是我选择下拉列表的部分标记:
<select id="version" data-bind="options: app_versions,
optionsCaption: 'Choose your app version. . .',
optionsText: name,
value: chosenVersion">
以下是我用于应用绑定的代码。 ui
是使用jquery:
ui = {
init : function () {
log("UI INIT", "Initializing user interface");
ko.applyBindings(new this.viewModel());
},
viewModel : function () {
this.app_versions = constants.versions;
this.chosenVersion = ko.observable();
}
}
在DOM完全加载后调用 ui.init()
。所有变量都按预期记录,因此我知道数据在视图模型中。问题是选择框永远不会按预期获得元素。好像DOM没有更新。
任何让淘汰赛与Adobe AIR合作的想法?
答案 0 :(得分:0)
我认为这是因为您在optionsText
绑定属性中错过了引号(它应该在引号中,因为它是数组属性名称,而不是视图模型的属性)。所以只需更新你的标记:
<select id="version" data-bind="options: app_versions,
optionsCaption: 'Choose your app version. . .',
optionsText: 'name',
value: chosenVersion">
请参阅demo。