Add bindAll
This commit is contained in:
26
snippets/bindAll.md
Normal file
26
snippets/bindAll.md
Normal file
@ -0,0 +1,26 @@
|
||||
### bindAll
|
||||
|
||||
Explain briefly what the snippet does.
|
||||
|
||||
Use `Array.forEach()` to return a `function` that uses `Function.apply()` to apply the given context (`obj`) to `fn` for each function specified.
|
||||
|
||||
```js
|
||||
const bindAll = (obj, ...fns) =>
|
||||
fns.forEach(
|
||||
fn =>
|
||||
(obj[fn] = function() {
|
||||
return fn.apply(obj);
|
||||
})
|
||||
);
|
||||
```
|
||||
|
||||
```js
|
||||
var view = {
|
||||
'label': 'docs',
|
||||
'click': function() {
|
||||
console.log('clicked ' + this.label);
|
||||
}
|
||||
};
|
||||
bindAll(view, 'click');
|
||||
jQuery(element).on('click', view.click); // Logs 'clicked docs' when clicked.
|
||||
```
|
||||
@ -5,6 +5,7 @@ atob:node,string,utility
|
||||
average:math,array
|
||||
averageBy:math,array,function
|
||||
bind:function,object
|
||||
bindAll:object,function
|
||||
bindKey:function,object
|
||||
bottomVisible:browser
|
||||
btoa:node,string,utility
|
||||
@ -214,7 +215,7 @@ sortedLastIndexBy:array,math,function
|
||||
splitLines:string
|
||||
spreadOver:adapter
|
||||
standardDeviation:math,array
|
||||
stripHTMLtags:uncategorized
|
||||
stripHTMLTags:string,utility,regexp
|
||||
sum:math,array
|
||||
sumBy:math,array,function
|
||||
sumPower:math
|
||||
|
||||
Reference in New Issue
Block a user