Node.js TypeError:n在下划线模板中未定义
我在用玉石打磨 index.jadeNode.js TypeError:n在下划线模板中未定义,node.js,backbone.js,underscore.js,pug,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/ .con
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());
}
});
它显示的是TypeError:n在模板:35;.template($('#login template').html()行上未定义,
我试过使用。在中建议的脚本之后。但它不起作用
看起来下划线无法访问#登录模板id。有什么原因吗?我也遇到了同样的错误。然后下面一个解决了我
var template= _.template($('#myTemplate').html());
这可能对你有帮助
是否导入下划线?如果没有,则应在主文件中执行<代码>变量=要求(“下划线”)如果您无法获取
#登录模板
,则会出现错误,抱怨未定义
没有替换
方法或类似方法。你看过$('#登录模板').html()
了吗?当模板中没有下划线标记时,为什么要提供模板函数数据?请尝试移动模板:35;.template($('#login template').html()),以呈现函数。像这样.template:#.template($('#login template').html())@muistooshort是的,它的内容是#login template。它在下一个模板中。我看到一些Jade的东西,但是$(“#登录模板”).html()
实际上给了你什么?请添加一些关于链接的信息/描述/上下文,即使它本身是打开的