开发者

backbone.js: encapsulating view functions?

开发者 https://www.devze.com 2023-04-05 19:38 出处:网络
Pretty new to backbone.js so forgive me of my ignorance. I\'m wondering, is there a way to encapsulate functions within the View class specifically?

Pretty new to backbone.js so forgive me of my ignorance. I'm wondering, is there a way to encapsulate functions within the View class specifically?

I ask because when setting default events...

events {
   'click .something' : 'doSomething'
}

... I'd prefer to have 开发者_C百科doSomething be nested in an encapsulating object for optimal organization. For example:

ui: {
    doSomething: function() {}
}

But then I can't seem to get the default events to work.

events {
    'click .something' : 'ui.doSomething' // this doesn't work
}

Any help is greatly appreciated. Or, if you can tell me why I shouldn't be doing this then I'd appreciate that, as well. Thanks!


Looking through the source that binds the events (delegateEvents) which is called from the constructor, it is pretty clear that it works on variables with in the scope of the object.

http://documentcloud.github.com/backbone/docs/backbone.html#section-118

You could, however, override delegateEvents to be a bit smarter... You could parse the value for dots and chain your tokens. You could even check the type of the value and use an actual function in place of the string. That might give you better control the way you want.

More info on the delegateEvents function: http://documentcloud.github.com/backbone/#View-delegateEvents

0

精彩评论

暂无评论...
验证码 换一张
取 消