JST v下划线模板

时间:2013-09-18 20:56:43

标签: ruby-on-rails backbone.js jst

我正在玩一个使用JST模板的演示Rails Backbone应用程序。在user_ registration视图中,它有一行像这样

template: JST["users/signup"],

指的是注册模板,其中一部分的表单带有user_registration id

<form accept-charset="UTF-8" action="/users" class="simple_form form-horizontal" id="user_registration" method="post">

如果单击表单上的“提交”,则用户注册视图将调用注册函数

events: {
        "submit #user_registration" : "signup"
    },

重要的是,用户注册视图未明确声明el。我认为这很重要,因为el通常定义视图侦听事件的区域。在此视图中,它未声明,但它知道何时单击提交按钮。

如果我删除该行

   template: JST["users/signup"],

并将该模板中的代码(包括#user_registration id)复制到下划线模板中,然后告诉user_registration视图,在其初始化时,使用该模板,如下所示

  var template = $('#signup').html();
  this.template = _.template(template);

一旦我在#user_registration表单上单击提交,user_registration视图就不再听到该事件。

总之,当我使用template: JST["users/signup"],进行模板化时,user_registration视图只会听到提交事件,而不是在我使用下划线时。在这两种情况下,我是否应使用el明确声明视图应在其中监听的区域。这是为什么?

0 个答案:

没有答案