como usar o bindAll no javascript es6
January 04, 2020
Binds methods of an object to the object itself, overwriting the existing method.
Use Array.prototype.forEach()
to return a function
that uses Function.prototype.apply()
to apply the given context (obj
) to fn
for each function specified.
const bindAll = (obj, ...fns) =>
fns.forEach(
fn => (
(f = obj[fn]),
(obj[fn] = function() {
return f.apply(obj);
})
)
);
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.