我有一个observableArray,它不会在HTML中更新,即使我可以将它记录到控制台并看到它的变化。
下面的例子有一个人的列表(people
)。我搜索这个列表,并尝试将结果添加到一个绑定到无序列表的新observableArray(searchResult
)中。这个列表元素从未更新,尽管控制台显示找到了来自people
的正确条目。为什么搜索结果没有显示在HTML中?
下面是我的代码(也可以在JSFiddle上找到):
第一个
我有一个observableArray,它不会在HTML中更新,即使我可以将它记录到控制台并看到它的变化。
下面的例子有一个人的列表(people
)。我搜索这个列表,并尝试将结果添加到一个绑定到无序列表的新observableArray(searchResult
)中。这个列表元素从未更新,尽管控制台显示找到了来自people
的正确条目。为什么搜索结果没有显示在HTML中?
下面是我的代码(也可以在JSFiddle上找到):
第一个
1条答案
按热度按时间bqf10yzr1#
中有一组不必要的括号
它应该
演示JSFiddle.
因为当你写
self.searchResult()
的时候,你是在访问可观察对象中的底层数组,当你压入这个数组的时候,KO不会得到关于这个变化的通知,所以你需要在observableArray
本身上使用push
方法。顺便说一句,Knockout有一个很好的useful array helpers集,可以简化您的过滤逻辑。