使用ChaplinJS的中介监听路由器事件

时间:2013-10-09 07:58:22

标签: chaplinjs

我目前正在尝试使用ChaplinJS进行新项目,但我遇到了问题。

我希望有一个控制器(用于我的导航),它可以监听路由器的变化。我想对changeURL或route这样的事件进行回调。我不确定卓别林的调解员是如何运作的,但我认为路由器正在使用我应该能够捕获的调解员来投掷事件。我试过这个:

mediator = require 'mediator'
Controller = require 'controllers/base/controller'
Menu = require 'models/menu'
MenuView = require 'views/menu-view'

module.exports = class MenuController extends Controller
    listen:
        'router:changeURL mediator': @test

    initialize: ->
        super

        @menu = new Menu()
        @view = new MenuView model: @menu

        mediator.subscribe 'router:changeURL', @test

    test: ->
        console.log 'testlisten'

1 个答案:

答案 0 :(得分:0)

您应该使用beforeAction方法来完成此任务。

该方法接收所有参数动作接收。 http://docs.chaplinjs.org/chaplin.controller.html

控制器中没有listen