2011-09-19 101 views
1

相当新到backbone.js所以请原谅我的无知。我想知道,有没有办法在View类中专门封装函数?backbone.js:封装视图函数?

我问,因为设置默认events ...

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

时......我宁愿有doSomething嵌套在最佳组织的封装对象。例如:

ui: { 
    doSomething: function() {} 
} 

但后来我似乎无法得到默认的events工作。

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

任何帮助,非常感谢。或者,如果你能告诉我为什么我不应该这样做,那么我也会很感激。谢谢!

回答

1

查看绑定事件的源代码(delegateEvents),它是从构造函数中调用的,它很清楚地表明它可以在对象范围内的变量上工作。

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

你可以,但是,覆盖delegateEvents是有点聪明......你可以解析为点和链中的令牌值。您甚至可以检查该值的类型并使用实际函数代替字符串。这可能会让你更好地控制你想要的方式。

更多关于delegateEvents功能的信息:http://documentcloud.github.com/backbone/#View-delegateEvents