/ng-mixin

Mixin utility for Angular that makes it easier to write min-safe code

Primary LanguageJavaScriptMIT LicenseMIT

ng-mixin

Mixin utility for Angular that makes it easier to write min-safe code, and offers other conveniences.

// MyController.js

var mix = require('ng-mixin');

module.exports = mix({

	$inject: ['$scope', 'myService'],

	init: function ($scope, myService) {
		// constructor logic here
		// this.$scope and this.myService created automatically
		
		$scope.$on('someEvent', this.someHandler);
	},
	
	someHandler: function () {
		// this will still be the module, not the scope
		// thanks to automatic binding
	}
	
});

Can also be used like a traditional mixin, merging two or more objects.

// SomeModel.js

var mix = require('ng-mixin'),
	 EventEmitter = require('events').EventEmitter.prototype;

module.exports = mix(EventEmitter, {

	someMethod: function () {
		// we now have event emitting thanks to EventEmitter mixin
		this.emit('someEvent', prop)
	}
	
});