7

Я экспериментирую с Backbone.js и просто пытаюсь получить сообщения, которые появляются на экране консоли. Как всегда, каждый раз, когда я делаю это ошибка продолжает появляться (указано ниже)Uncaught TypeError: Ожидание функции в instanceof check

Uncaught TypeError: Expecting a function in instanceof check, but got [object Object] backbone.js:1032 
_.extend.setElement backbone.js:1032 
_.extend._ensureElement backbone.js:1104 
Backbone.View backbone.js:986 
child backbone.js:1531 
(anonymous function) pageLoader.js:19 
(anonymous function) 

Вот файл JavaScript

(function ($){ 

window.PageLoader = Backbone.View.extend({ 
    el: $("section"), 
    events: { 
    "": "initialization", 
    "click #aboutUs" : "aboutUs", 
    }, 

    initialization: function(){ 
    console.log('pageLoader.js initialized\nHome page rendered'); 
    }, 

    aboutUs:function(){ 
    console.log('About us page rendered.'); 
    } 
}); 

var pageLoader = new PageLoader(); 
//pageLoader.initialization(); 
//pageLoader.aboutUs(); 

})(jQuery); 

Также здесь есть HTML

<html> 
    <head> 
    <link rel="stylesheet" type="text/css" href="css/main.css"> 
    <meta /> 
    <meta /> 
    <title>Bus tours and tows</title> 
    </head> 
    <body> 
    <div id="centerWrapper"> 
    <header> 
     <h1>So and so Bus tours and tows</h1> 
    <header/> 
    <nav> 
     <ul> 
     <li><a href="">Home</a></li> 
     <li><a href="#aboutUs">About us</a></li> 
     <li><a href="">Tours</a></li> 
     <li><a href="">Tows</a></li> 
     <li><a href="">Schedule</a></li> 
     <li><a href="">Contact</a></li> 
     </ul> 
    </nav> 
    <section></section> 
    <footer> &#169; Of So and so bus tours and tows. <br /> 
     <i>Questions regarding the construction of the website, please email</i> 
     <a href="mailto: [email protected]">Web Master</a> 
    </footer> 
    <div id="jsFilesAndDepend"> 
     <!-- --> 
     <!-- Filese that are dependant--> 
     <script src="js/dependencies/underscore.js"></script> 
     <script src="js/dependencies/backbone.js"></script> 
     <script src="js/dependencies/jquery-1.10.1.js"></script> 
     <script src="js/pageLoader.js"></script> 
     <script src=""></script> 
     <script src=""></script> 
    </div> 
    </div> 
    </body> 
</html> 

Я новый для Backbone.JS. Спасибо за помощь.

ответ

9

Вам необходимо загрузить JQuery, прежде чем позвоночника,

<script src="js/dependencies/underscore.js"></script> 
    <script src="js/dependencies/jquery-1.10.1.js"></script> 
    <script src="js/dependencies/backbone.js"></script> 

Вы также не можете определить пустое событие пары ключ-значение,

events: { 
// "": "initialization", <- this is invalid. 
    "click #aboutUs" : "aboutUs", 
}, 
+0

Эй, спасибо за ответ! Это избавило от старой ошибки, но теперь я получаю новую: 'Некопать TypeError: Не удается прочитать свойство' 1 'из null backbone.js: 1062 _.extend.delegateEvents backbone.js: 1062 Магистраль. Просмотреть backbone.js: 988 child backbone.js: 1531 (анонимная функция) pageLoader.js: 19 (анонимная функция) ' –

+0

@JoshV У вас не может быть пустых ключей событий. – Andrew

+0

О, ладно, я вижу. Моя ошибка заключалась в том, что она имеет ту же структуру, что и Backbone.Router. Я пытаюсь это сделать. –

 Смежные вопросы

  • Нет связанных вопросов^_^