Correct Way Of Wrapping Javascript Class In Angularjs Module And Inject Angular Services
Inside an AngularJS module I'm developing, I have a Canvas class defined as: angular.module('myModule', []) .factory('Canvas', function() {return Canvas;}); var Canvas = function(
Solution 1:
I figured it out:
angular.module("myModule", [])
.factory("Canvas", ["$q", function(q) {
Canvas.prototype.q = q;
returnCanvas;
}]);
varCanvas = function(element, options) {
console.log(thisinstanceofCanvas, typeofthis.q !== "undefined");
};
This logs: true true
.
Solution 2:
I create Canvas service like this and is work:
var app = angular.module('myModule', []);
app.factory("Canvas", ["$q", function($q) {
varCanvas = function(element, options) {
this.q = $q;
this.init();
console.log(this.q, element, options);
}
Canvas.prototype.init = function() {/*...*/};
Canvas.prototype.otherMethod = function() {/*...*/};
returnCanvas;
}]);
app.controller('MainCtrl', ['$scope', 'Canvas', function($scope, Canvas) {
console.log( newCanvas().q );
}]);
Also you can see this on Pluncer here
Post a Comment for "Correct Way Of Wrapping Javascript Class In Angularjs Module And Inject Angular Services"