Backbone.js 这个主干路由器有什么问题?
是的,我已经包括了亡灵库,现在我绑定了我的loadChisiamo,但我仍然遇到了这个问题。这是main.jsBackbone.js 这个主干路由器有什么问题?,backbone.js,backbone-routing,Backbone.js,Backbone Routing,是的,我已经包括了亡灵库,现在我绑定了我的loadChisiamo,但我仍然遇到了这个问题。这是main.js app_start(); var Router = Backbone.Router.extend({ routes: { "home" : "loadHome", "chisiamo" : "loadChisiamo", "*actions": "defaultRoute" }, initialize: function
app_start();
var Router = Backbone.Router.extend({
routes: {
"home" : "loadHome",
"chisiamo" : "loadChisiamo",
"*actions": "defaultRoute"
},
initialize: function(){
_.bindAll(this,'loadHome','loadChisiamo');
},
loadHome: function(e){
e.preventDefault();
console.log('loadHome');
var home = new home_view();
},
loadChisiamo: function(e){
e.preventDefault();
console.log('loadChisiamo');
var chiSiamo = new chiSiamo_view();
},
defaultRoute: function(actions) {
}
});
var app_router;
function app_start(){
views();
var topBar = new topbar_view();
var menu = new menu_view();
var home = new home_view();
//app_router = new Router();
Backbone.history.start({ pushState: true });
topBar.render();
menu.render();
home.render();
}
var topbar_view,, menu_view, home_view, chiSiamo_view;
function views() {
topbar_view = Backbone.View.extend({
el: '#header',
template: Handlebars.templates['topbarHome.ht'],
initialize: function() {
_.bindAll(this, "render");
},
render : function() {
this.$el.html(this.template());
}
});
menu_view = Backbone.View.extend({...});
home_view = Backbone.View.extend({...});
chiSiamo_view = Backbone.View.extend({...});
}
现在,一旦我取消对app_router=new router()的注释,我就会得到这个错误“undefined不是函数”。就像我没有定义我的路由器,但我在上面定义了。那么问题出在哪里呢?这是我的index.html
<body>
<div id="container">
<div id='header' class="header"></div>
<div id='main' class="main">
<div id="navigation"></div>
<div id="contain"></div>
</div>
</div>
<script src="scripts/vendor/jquery/jquery.js"></script>
<script src="scripts/vendor/jquery-ui/jquery-ui-1.10.4.min.js"></script>
<script src="scripts/vendor/underscore/underscore-min.js"></script>
<script src="scripts/vendor/backbone/backbone-min.js"></script>
<script src="scripts/vendor/handlebars/handlebars.js"></script>
<script src="scripts/vendor/modernizr/modernizr.custom.js"></script>
<script src="scripts/vendor/plugins/jquery.slides.min.js"></script>
<script src="scripts/templates.js"></script>
<script src="scripts/main.js"></script>
</body>
它正在查找要加载的下划线。您是否将该库包括在您的环境中?u.bindAll(这是,'loadHome','loadChisiamo');下划线正在尝试绑定“loadHome”和“loadChisiamo”方法,但找不到“loadChisiamo”。使用下划线的非精简版本,并在异常时中断调试器,以便可以检查未定义错误的原因。