Backbone.js的:路由器回调未达到 [英] Backbone.js: Router callback not reached

查看:125
本文介绍了Backbone.js的:路由器回调未达到的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法得到一个简单的应用程序示例路线。我使用的骨架上轨宝石。

I'm having trouble getting a simple App example to route. I'm using the backbone-on-rails gem.

下面是我的App.js.coffee:

Here's my App.js.coffee:

    window.App =
      Models: {}
      Collections: {}
      Views: {}
      Routers: {}

 $(document).ready ->
    MyRouter = Backbone.Router.extend(
       routes:
        '' : 'index'

        index: ->
            console.log("Inside router")
            new App.Views.HomeIndex()
    )
    router = new MyRouter
    Backbone.history.start
    console.log(router.routes[Backbone.history.fragment])

路由器从未达到的指数回调的观点是永远不会呈现。

The router never reaches the index callback and the View is never rendered.

下面是由Rails的呈现的HTML页面:

Here's the HTML Page that is rendered by Rails:

<!DOCTYPE html>
<html>
<head>
  <title>App</title>
  <link href="/assets/application.css?body=1" media="screen" rel="stylesheet" />
  <script src="/assets/jquery.js?body=1"></script>
<script src="/assets/jquery_ujs.js?body=1"></script>
<script src="/assets/underscore.js?body=1"></script>
<script src="/assets/backbone.js?body=1"></script>
<script src="/assets/app.js?body=1"></script>
<script src="/assets/homes/index.js?body=1"></script>
<script src="/assets/models/home.js?body=1"></script>
<script src="/assets/collections/homes.js?body=1"></script>
<script src="/assets/views/homes/homes_index.js?body=1"></script>
<script src="/assets/routers/homes_router.js?body=1"></script>
<script src="/assets/routers/homes_routers.js?body=1"></script>
<script src="/assets/application.js?body=1"></script>
  <meta content="authenticity_token" name="csrf-param" />
<meta content="sA25aKKc/j2EJL6k8J0gm8SxGU2mHRhH8Sb6Sye81Ac=" name="csrf-token" />
</head>
<body>

<div id="app"></div>

</body>
</html>

什么我需要做的正确实例化的骨干路由器,它得到路由到我的意见?

What do I need to do to properly instantiate a Backbone Router and get it to route to my Views?

推荐答案

看起来像你只需要调用 Backbone.history.start 而不是简单地引用它。这只是引用功能:

Looks like you just need to call Backbone.history.start rather than simply reference it. This just references the function:

Backbone.history.start

这称之为:

Backbone.history.start()

该函数调用括号当你提供一些参数是唯一可选的。

The function-calling parentheses are only optional when you supply some arguments.

演示: http://jsfiddle.net/ambiguous/hUZUV/

这篇关于Backbone.js的:路由器回调未达到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆