Javascript 使用主干网时,哪种类型的功能会用到哪里?

Javascript 使用主干网时,哪种类型的功能会用到哪里?,javascript,backbone.js,Javascript,Backbone.js,例如,一些简单的功能,如登录按钮。这会出现在路由器、视图或模型中吗 试着去摸这个!任何其他的解释都会很好 谢谢 我的一般方法是让模型运行应用程序的真实逻辑,而视图充当模型和与用户的HTML/交互之间的协调器 在登录按钮的情况下,您可以有如下简单内容: <form> username: <input id="username"> password: <input id="password"> <button id="login">Logi

例如,一些简单的功能,如登录按钮。这会出现在路由器、视图或模型中吗

试着去摸这个!任何其他的解释都会很好


谢谢

我的一般方法是让模型运行应用程序的真实逻辑,而视图充当模型和与用户的HTML/交互之间的协调器

在登录按钮的情况下,您可以有如下简单内容:

<form>
  username: <input id="username">
  password: <input id="password">
  <button id="login">Login</button>
</form>
User = Backbone.Model.extend({
  login: function(){
    var self = this;
    $.post("/user/login", 
      this.toJSON(),
      function(data){
        if (data.loggedIn){
          self.trigger("loggedIn", self);
        }
      }
    });
  }
});
还有一个模型看起来像这样:

<form>
  username: <input id="username">
  password: <input id="password">
  <button id="login">Login</button>
</form>
User = Backbone.Model.extend({
  login: function(){
    var self = this;
    $.post("/user/login", 
      this.toJSON(),
      function(data){
        if (data.loggedIn){
          self.trigger("loggedIn", self);
        }
      }
    });
  }
});
这是一个非常简单的示例,当然,它不涉及很多边缘情况,也不涉及登录后的操作。但此时,您将能够监听用户模型的“loggedIn”事件,并让应用程序做出适当的响应

有一些边缘情况,你会想涵盖,例如不允许有人登录,如果他们没有提供用户名和密码。我有几篇博客文章介绍了这一点:

您可能希望使用“事件聚合器”来引发“user:loggedIn”事件,而不是让用户模型直接引发该事件。我在这里介绍了与协调多个视图相关的事件聚合器的用户:


当然,我的发展风格只是一种可能的有主心骨的风格。我建议搜索一下谷歌和主干文档,看看其他的例子。

它看起来像是一个用户模型
User.authenticate://login
??