我有一个拥有简单搜索形式的骨干应用程序,当用户在此搜索上写入内容时,我使用autobahn来订阅搜索表单上的给定文本(例如 - 我搜索“foo”,我订阅“foo”)。Decouple AutobahnJS(WebSockets)with Backbone
我该如何区分高速公路逻辑?目前在我看来,当用户点击提交我做接下来的事情就 -
// On view:
onUserSearch : function(evt) {
evt.preventDefault();
var searchText = this.$el.find("#searchBox").val();
// searchResultsCollection is an instance of Backbone.Collection
SearchFeed.subscribe(searchBox, searchResultsCollection)
}
// SearchFeed subscribe method
subscribe : function(topic, collection) {
session.subscribe(topic, function(result) {
collection.add(result);
});
}
而且在我看来,我听我的收藏“添加”,为每个结果的视图和渲染。
我认为我的代码结构不好 -
1.“SearchFeed.subscribe”是否在正确的位置?我可以在我的视图上做这个代码吗?也许它应该在模型上?
2.集合是否改变(通过订阅,SearchFeed改变它,然后收听“添加”)管道是正确的方式来做到这一点?