Backbone应用程序没有初始化

时间:2015-02-26 21:29:00

标签: javascript backbone.js model-view-controller routes

我正在开发Backbone应用程序。我有以下app文件:

// src/app.js
var AppRouter = require('./router');

var App = new AppRouter();

它链接到索引页面(链接有效,我已经验证过):

<!DOCTYPE html>
<html>
<head>
  <title>Feedback Dev Test</title>
</head>
<body>
<script type="text/javascript" src="assets/js/app.js"></script>
</body>
</html>

这是路由器本身:

var Backbone = require('backbone');
var $ = require('jquery/dist/jquery');
var IndexView = require('./views/index');

Backbone.$ = $;

var AppRouter = Backbone.Router.extend({
  routes: {
    '': 'routeIndex',
    'hello': 'hello'
  },

  routeIndex: function() {
    if (!this.indexView) {
      console.log('routeIndex called');
      this.indexView = new IndexView();
    }
  },

  hello: function() {
    alert('HELLO');
  }
});

module.exports = AppRouter;

当我导航到页面索引时,不会发生routeIndex事件(没有任何内容记录到控制台)。此外,当我导航到/hello时,警报也不会弹出。我做错了什么?

1 个答案:

答案 0 :(得分:0)

http://backbonejs.org/#Router

  

在页面加载期间,在应用程序完成所有路由器的创建后,请务必调用Backbone.history.start()或Backbone.history.start({pushState:true})来路由初始URL。 / p>