2012-12-19 13 views
6

Uczę się backbone.js i jestem prawie na początku. Chcę dodać szablon za pomocą metody szablonowej underscore, ale to nie działa dla mnie. Szukałem tego błędu, ale nie mogłem go naprawić. Jak mogę iść do przodu, jeśli nie pokazuje szablonu. Potrzebujesz pomocy facetów.Szablon nie ładuje się w backbone.js (TypeError: tekst jest niezdefiniowany)

Oto kod (kod ten jest z książki szkieletowy podstaw addyosmani koszulka):

<!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); 
+3

Znalazłem problem. Znacznik skryptu trzymający szablon powinien być umieszczony przed kodem js, w przeciwnym razie będzie się wyświetlał (tekst Typeerror jest niezdefiniowany) w konsoli. :) – Michael

+0

Możesz również umieścić wszystkie swoje JavaScript i szablon '

4

Mam ten sam błąd. Upewnij się, że szablon ze zdefiniowanym id istnieje na stronie. W moim przypadku użyłem niewłaściwego szablonu id, co spowodowało błąd: "TypeError: n is undefined".

Powiązane problemy