我正在使用 knockout.js 选择列表上的选项绑定(bind)
。我创建了一个示例 fiddle :
http://jsbin.com/uzecaf/12/edit
但问题是在 ui 上没有显示值文本,而是在 ui 上显示 [object object]。我做错了什么?
编辑
JS代码
function AuthorVM(){
this.Name = ko.observable("bla-bla");
this.books = ko.observableArray(
[
new BookVM('book-1', '1'),
new BookVM('book-2', '2'),
new BookVM('book-3', '3'),
new BookVM('book-4', '4')
]
);
}
function BookVM(name, id){
this.Name = name;
this.Id = id;
}
ko.applyBindings(new AuthorVM());
标记
<label data-bind="text: Name"></label>
<select data-bind="options: books, optionsText: Name">
</select>
最佳答案
您的select
绑定(bind)错误,optionsText parameter是一个 string
,因此您需要将属性名称作为字符串传递给那里。
您的绑定(bind)应如下所示:
<select data-bind="options: books, optionsText: 'Name'">
参见 Demo .
关于javascript - knockout 中的选项绑定(bind)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13107522/