Sun*_*Red 5 javascript coding-style backbone.js underscore.js
我_.bindAll
在很多Backbone.Views中使用.
_.bindAll(this, 'render', 'addOne', 'addAll', 'someFunctionA', 'someFunctionB');
Run Code Online (Sandbox Code Playgroud)
虽然重构这个变得非常乏味,因为我需要保持视图方法和名称列表同步.这两种方式都会导致简单的错误.
由于有一个短版本bindAll
,可以消除这种需求,我想知道存在哪些缺点(性能,可读性,灵活性......),你认为它们可以接受,以获得一点生产力提升.
_.bindAll(this);
Run Code Online (Sandbox Code Playgroud)
使用这种形式的bindAll 不会带来实际的性能损失。然而,如果您不希望this
由于某种原因绑定某个方法,那将是一件痛苦的事情。
然而,您可能会发现您并不需要像您想象的那样频繁地使用bindAll。绑定到事件处理程序(带有事件哈希)的所有方法都会自动绑定到this
.
此外,当您显式绑定事件时,可以this
在第三个参数中传递绑定。例如:
this.model.bind('change', this.render, this)
归档时间: |
|
查看次数: |
2146 次 |
最近记录: |