我正在編寫一個骨幹應用程序,並且我想寫一個經過身份驗證的裝飾器,我可以用它來裝飾路由器類中的一組方法(路由)。在CoffeeScript類中裝飾函數
所以我有一個路由器有幾個方法,並嘗試過這樣的事情。然而,當我打電話給我想要裝飾的路線時,修飾器並未連接。
class MyApp extends Backbone.Router
routes:
'' : 'home'
'foo' : 'foo'
'bar' : 'bar'
authenticated: ['foo', 'bar']
initialize: ->
@decorateAuthenticatedFunctions()
decorateAuthenticatedFunctions: =>
_.each @authenticated, (method)=>
@[method] = (args)=>
if @authorized()
@[method].apply @, args
else
@navigate '', true
authorized: =>
@user? and @user.loggedIn
foo: =>
#do stuff
bar: =>
#do stuff
如何解決此問題?
確定'initialize'被稱爲呢?在那裏添加一個console.log的警報。 –