TypeError:n在下划线模板中未定义

时间:2016-01-07 17:58:55

标签: node.js backbone.js underscore.js pug

我在玉器中使用下划线温和。

index.jade

extends layout
block content
  .wrap
    .container-fluid#container


script(type='text/template' id='main-template')
  .row
        .col-xs-8.col-sm-9
          .heading h2 Welcome to the Node Chatroom
          hr/
          .content
            ul.list-group#chatList
        .col-xs-4.col-sm-3
          .sidePanel
            .panel-heading
              h3.panel-title Online Users
                span.badge pull-right#userCount
            hr/
            .panel-body
              ul.list-group#userList      

      .push
  .footer
    .container-fluid
      .row
        form
          .form-group
            .col-xs-8.col-sm-9
              input(type="text" id="chatInput" class="form-control input-lg" placeholder="Write a message here..." rows="3")
            .col-xs-4.col-sm-3
              button(id="send-message-btn" class="btn btn-primary btn-lg btn-block" type="submit") Send Message

script(type='text/template' id='login-template')
  .row
    .col-md-4.col-md-offset-4.text-center
      .login
        .form-group
          label Enter name
          input(type="text" class="form-control" id="nameText")
          .btn-group
            button(id="name" type="button" class="btn btn-primary btn-lg") Login

Main.js

var LoginView = Backbone.View.extend({
    template: _.template($('#login-template').html()),


    events: {
        'click #name': 'onLogin'
    },

    initialize: function(options) {
    this.vent = options.vent;

    this.listenTo(this.model, "change:error", this.render, this);
    },

    render: function() {
        this.$el.html(this.template(this.model.toJSON()));

    onLogin: function() {
    //this.l.start();
    this.vent.trigger("login", this.$('#nameText').val());
    }
});

template: _.template($('#login-template').html()),行显示 TypeError:n未定义

我尝试过使用过。在jade doc中提出的脚本之后。但它不起作用。

看起来下划线无法访问#login-template id。有什么理由吗?

1 个答案:

答案 0 :(得分:0)

我也遇到了同样的错误。然后一个人解决了我。

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

这可能会对您有所帮助。

typeerror-n-is-undefined-in-underscore-min-js