Simple dependecy injection container for javascript inspired by Angular.js
Dependecy injection container for javascript inspired by Angular.js
License: MIT
npm
npm install --save jsdic
browser
Load file jsdic.js and use JsDic class.
function AjaxService(ajaxUrl) {
this.ajaxUrl = ajaxUrl;
// ...
}
function AjaxController(service, data) {
this.service = service;
this.data = data;
// ...
}
var JsDic = require('jsdic'); // node, browserify
var dic = new JsDic();
dic
.value('ajaxUrl', '/some-ajax-action')
.value('initialData', [1, 2, 3])
.service('ajaxService', AjaxService)
.factory('ajaxController', function (ajaxService, initialData) {
return new AjaxController(ajaxService, initialData);
});
var ctrl = dic.get('ajaxController');
// or
var ctrl = dic.ajaxController;
// or
var ctrl = dic['ajaxController'];
// dependencies can be defined explicitly
dic
.value('ajaxUrl', '/some-ajax-action')
.value('initialData', [1, 2, 3])
.service('ajaxService', ['ajaxUrl', AjaxService])
.factory('ajaxController', ['ajaxService', 'initialData', function (as, id) {
return new AjaxController(as, id);
}]);