【发布时间】:2015-07-17 01:02:09
【问题描述】:
我正在使用淘汰赛进行实时搜索。
我已尽我所能遵循该示例,但出现以下错误:
Uncaught ReferenceError: Unable to process binding "text: function (){return title }" Message: title is not defined
我做错了什么?
var points = [
{title: 'San Francisco Zoo',longitude: 37.7331,lattitude: -122.5031},
{title: 'Lake Merced', longitude:37.7094,lattitude:-122.4958}
];
var viewModel = {
query: ko.observable('')
};
viewModel.points = ko.computed(function(){
var search = this.query().toLowerCase();
return ko.utils.arrayFilter(points, function(point){
return point.title.toLowerCase().indexOf(search)>=0;
});
}, viewModel);
ko.applyBindings(viewModel);
<input id="s-input" class="controls" data-bind="value: query, valueUpdate: 'keyup'" placeholder="Sites Search">
<ul data-bind=" template: {name:'point', foreach: points">
<li data-bind="text: title"></li>
</ul>
【问题讨论】:
-
不完整的
template: { name: 'point'是怎么回事?似乎应该只是data-bind="foreach: points"。 -
我认为模板曾经是
foreach的做法,很多人都在继续这种传统做法。现在对模板的唯一需求是它们是否被递归定义。