模板Backbone.js的不加载(类型错误:文字是不确定的)(template not loadi

2019-08-04 07:25发布

我正在学习Backbone.js的 ,我在开始的时候漂亮多了。 我想通过添加模板下划线模板的方法,但它不是为我工作。 我搜索了这个错误,但无法自己解决。 我怎样才能前进,如果它没有显示模板。 需要一些帮助球员。

下面是代码(此代码是从addyosmani的书骨干基本面):

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>testing</title>
</head>
<body>
<script src="scripts/jquery.js"></script>
<script src="scripts/underscore.js"></script>
<script src="scripts/backbone.js"></script>
<script>


    var TodoView = Backbone.View.extend({
    tagName: 'li',
    // Cache the template function for a single item.
    todoTpl: _.template( $('#item-template').html() ),

    events: {
    'dblclick label': 'edit',
    'keypress .edit': 'updateOnEnter',
    'blur .edit': 'close'
    },

    // Re-render the titles of the todo item.

    render: function() {
    this.$el.html( this.todoTpl( this.model.toJSON() ) );
    this.input = this.$('.edit');
    return this;
    },

    edit: function() {
    // executed when todo label is double clicked
    },

    close: function() {
    // executed when todo loses focus
    },

    updateOnEnter: function( e ) {
    // executed on each keypress when in todo edit mode,
    // but we'll wait for enter to get in action
    }

    });


    var todoView = new TodoView();
    // logs reference to a DOM element that cooresponds to the view instance
    console.log(todoView.el);

Answer 1:

如果该模板脚本之后定义,它不会工作。

包装你的切入点

$(function(){
   var todoView = new TodoView();
});

所以你不要让这样那样的错误。



Answer 2:

我得到了同样的错误。 确保与定义的ID模板的页面上存在。 在我来说,我使用了错误的ID为模板,这是错误的理由“类型错误:n为未定义”。



文章来源: template not loading in backbone.js ( TypeError: text is undefined )