Package Exports
- auto-bind
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (auto-bind) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
auto-bind 
Automatically bind methods to their class instance
It also correctly binds inherited properties.
Install
$ npm install auto-bind
Usage
const autoBind = require('auto-bind');
class Unicorn {
constructor(name) {
this.name = name;
autoBind(this);
}
message() {
return `${this.name} is awesome!`;
}
}
const unicorn = new Unicorn('Rainbow');
// Grab the method off the class instance
const message = unicorn.message;
// Still bound to the class instance
message();
//=> 'Rainbow is awesome!'
// Without `autoBind(this)`, the above would have resulted in
message();
//=> Error: Cannot read property 'name' of undefined
API
autoBind(self, options?)
Bind methods in self
to their class instance. Returns the self
object.
self
Type: object
Object with methods to bind.
options
Type: object
include
Type: Array<string | RegExp>
Bind only the given methods.
exclude
Type: Array<string | RegExp>
Bind methods except for the given methods.
autoBind.react(self, options?)
Same as autoBind
, but excludes the default React component methods.
class Foo extends React.Component {
constructor(props) {
super(props);
autoBind.react(this);
}
// …
}
Related
- bind-methods - Bind all methods in an object to itself or a specified context