0

我目前正在为一个新项目尝试 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'
4

1 回答 1

0

您应该使用beforeAction方法来完成此操作。

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

控制器中没有listen

于 2013-10-09T08:27:18.990 回答