首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带骨干的解耦AutobahnJS (WebSockets)

带骨干的解耦AutobahnJS (WebSockets)
EN

Stack Overflow用户
提问于 2013-10-29 18:41:47
回答 1查看 437关注 0票数 4

我有一个具有简单搜索表单的主干应用程序,当用户在这个搜索上写东西时,我使用autobahn在搜索表单上订阅给定的文本(例如,我搜索"foo",我订阅"foo")。

我怎样才能区分高速公路逻辑?目前,在我看来,当用户单击submit时,我会做接下来的事情-

代码语言:javascript
复制
// 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更改它,然后听“添加”)管道是正确的方式吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-30 07:55:13

不确定主干/Autobahn的结构是什么样子的,但是预先考虑这些方面是非常重要的。

FWIW,您可以在以下两个变体中找到一个简单的表单示例:

ExtJS代码使用AutobahnExtJS,它为AutobahnJS提供专门的ExtJS数据代理。

基于Knockout的代码不需要额外的内容--它也比ExtJS变体更长,部分原因是它的特性更丰富。因此,您不应该直接比较代码长度。

就我个人而言,我发现Knockout+Autobahn方法相当不错:您有一个干净的分层: Autobahn实时代码只与视图模型交互,视图模型是数据绑定到视图的。

披露:我是AutobahnJSAutobahnPythonAutobahnAndroid和Tavendo的原作者。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19666603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档