2014-09-10 159 views
0
define([ 
'jquery', 
'underscore', 
'backbone', 
    'app', 
    'models/sessionmodel', 
    'views/home/homeview', 

], function(
    $, 
    _, 
    Backbone, 
    app, 
    SessionModel, 
    HomeView 
){ 
    AppRouter = Backbone.Router.extend({ 

    initialize: function(options){}, 

    routes : { 
     ''   :'showhome', 
    }, 

    showhome : function(){ 
     this.show(new HomeView()); 
    }, 


    }); 

    return AppRouter; 

}); 

而这里是我的主,这是第一次打击每骨干标准。我有一个名为创建一个空的对象,并返回其应用的另一个文件...骨干路由器似乎没有正确扩展路由器

require.config({ 
paths: { 
jquery: 'libs/jquery/jquery-1.8.2', 
underscore: 'libs/underscore/underscore-min', 
backbone: 'libs/backbone/backbone-1.0.0-min', 
text: 'libs/require/text', 
router: 'router', 
app: 'app' 
}, 
shim: { 
    jquery: { 
     exports: '$' 
    }, 
    underscore: { 
     exports: '_' 
    }, 
    backbone: { 
     deps: ["underscore", "jquery"], 
     exports: "Backbone" 
    } 
} 
}); 

require(['app','router', 'models/sessionmodel'], function(app, AppRouter, SessionModel) { 

    app.router = new AppRouter(); 
    app.session = new SessionModel(); 
    app.session.checkAuth({ 

     complete: function(){ 
      Backbone.history.start(); 
     } 
    }); 
}); 

当我控制台登录此,路由器丢失其默认的方法(特别是浏览,但除了其他人一样开,关,触发器等)。

回答

0

你必须初始化它:var router = new AppRouter();

+0

我在主文件添加,我实例化approuter。对不起,谢谢。 – 2014-09-10 13:25:10

2

看来你不检查记录对象的__proto__属性:enter image description here