我目前正在为一个新项目试用卓别林JS,但我遇到了一个问题。
我想要一个控制器(用于我的导航(来监听路由器的变化。我想对更改 URL 或路由等事件进行回调。我不确定卓别林的调解器是如何工作的,但我认为路由器正在使用我应该能够捕获的调解器抛出事件。我试过这个:
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'
您应该使用beforeAction
方法来完成此操作。
该方法接收操作接收的所有参数。 http://docs.chaplinjs.org/chaplin.controller.html
控制器中没有listen
。