object - 主干和 Requirejs。如何从任何地方访问我的 Backbone 路由器

标签 object backbone.js requirejs global router

我正在使用 requirejs 处理我的第一个项目。我有一个路由器和一个 View ,我想在单击项目时从 View 访问我的 Router.navigate() 方法。我使用 CoffeeScript。如何使路由器全局化?

路由器.咖啡:

define [
'jquery'
'backbone'
'application/views/mainView'
'application/models/app'
],($,Backbone,MainView,App)->
class Router extends Backbone.Router
  routes:
    'organisation': 'organisationScreen'
    '*actions': 'organisationScreen'

  constructor:() ->
    super @routes

  initialize:()->

    Backbone.history.start() #pushState: true
    console.log " The Route Initialized"

  organisationScreen:()->
    $('.slides').fadeOut() 
    $('.confBlock').removeClass('onshow')
    $('.organisationsBlock').addClass('onshow')

查看咖啡
define [
'jquery'
'backbone'
'application/views/conferenceView'
],($,Backbone,ConferenceView)->

class OrganisationView extends Backbone.View

  #el: '#appcontainer'

  tagName : 'li'
  className : 'organisation'

  events:
    'click .org-item' : 'choice'


  template : _.template($('#Organisation-template').html())

  initialize : ()->
   ...


  render: ()-> 
   ...

  choice:(ev)->
    # Call Router.navigate()

最佳答案

全部 Router::navigate是打电话Backbone.history.navigate所以我就用那个。 Here is the source

choice: (ev)->
    Backbone.history.navigate(...);

关于object - 主干和 Requirejs。如何从任何地方访问我的 Backbone 路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16399802/

相关文章:

ruby-on-rails - 使用 Form Object 时应该如何处理编辑和更新操作?

Javascript 文字对象,对自身的引用

javascript - 渲染相同类型 subview 的主干 View 会导致无限循环

javascript - 主干集合不是唯一的吗?

javascript - Backbone.View 的 setElement 不会移动事件监听器

javascript - 调用 RequireJS "define"函数之前的回调?

javascript - 将数组数组转换为对象数组的有效方法

c# - 在列表中查找具有特定值的对象

javascript - 需要 JS 回调参数未定义

ruby - 将 Require.JS(r.js 构建)包含到中间人构建中