【问题标题】:Unable to initialize new marionette router无法初始化新的木偶路由器
【发布时间】:2013-04-05 05:10:30
【问题描述】:

我正在尝试使用木偶在“产品”模块中创建一个新的应用程序路由器,如下所示

@MyApp.module "ProductsModule", (ProductsModule, App, Backbone, Marionette, $, _) ->
 class ProductsModule.Router extends Marionette.AppRouter
   appRoutes:
    "products" : "listGoods"

 API =
  listGoods: ->
    console.log('list goods')

 App.addInitializer ->
  console.log('init app router')
  new ProductsModule.Router
    controller: API

更高级的App代码如下

@MyApp = do (Backbone, Marionette) ->

 App = new Marionette.Application

 App.addRegions
  headerRegion: "#header-region"
  mainRegion: "#main-region"
  footerRegion: "#footer-region"

 App.on "initialize:after", (options) ->
  if Backbone.history
    Backbone.history.start
      root: '/admin/'

 App

但是在尝试运行后,产品模块的 appRouter 没有运行,即 console.log 没有向控制台打印任何内容。

我错过了什么吗?

更新: 添加更多代码以显示应用的启动位置

<!DOCTYPE html>
<html>
<head>
  <title>Admin</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "admin" %>
  <%= csrf_meta_tags %>
</head>
<body>
  <div id="wrap">
    <div id="header-region"></div>
    <div id="main-region" class="container">

      <a href="#products">sss</a>
    </div>
  </div>
  <div id="footer-region"></div>

  //STARTING APP HERE
  <%= javascript_tag do %>
    $(function() {
      MyApp.start();
    });
  <% end %>

</body>
</html>

【问题讨论】:

  • 什么都没有?你启动应用了吗?
  • 是的,Backbone.history.start() 确实成功启动(做了控制台日志)。只是“ProductsModule.Router”没有启动
  • 不,我的意思是您是通过App.start() 启动应用程序的吗?顺便说一句,应用程序应该小写
  • 是的,我做到了。让我更新 OP
  • @pfried 我已更新 OP 以显示我启动应用程序的位置。需要注意的一点是,只有在我调用 /admin 时才会触发此布局。我是否需要在路由器的某处定义一个 root: '/admin/' 以便路由可以与 /admin/product 一起使用?

标签: backbone.js router marionette


【解决方案1】:

移动

console.log('init app router')
  new ProductsModule.Router
    controller: API

App.on("initialize:after", function(){/*place code here*/})

移动

if Backbone.history
    Backbone.history.start
      root: '/admin/'

App.on("start", function(){/*place code here*/})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多