angularjs - Access prototypal $scope functions in controller's constructor function -
most of angular new "styles" guide replace anonymous controller functions named constructor functions right angular way (pattern), though documentation not conforming.
e.g:
var testctrl = function(){ this.prop = 'prop'; .... } angular.module('app').controller('test', testctrl);
i understand concept sake of debug-ability , memory savings.
my question:
if before listen event subscribing $scope.$on()
method:
angular.module( 'app' ).controller( 'test', [ '$scope', function ( $scope ) { $scope.$on('event', function (event, params) { ... }); }]);
how can in constructor function?
and there catch! injecting $scope in constructor function , subscribing event on $scope not execute callback in constructor function scope.
actually, none of examples have named constructor function, different style register controller.
you use named contructor function sake of debug-ability in both styles, this:
function testctrl() { this.prop = 'prop'; .... } angular.module('app').controller('test', testctrl);
or this:
angular.module( 'app' ).controller( 'test', [ '$scope', function testctrl( $scope ) { $scope.$on('event', function (event, params) { ... }); }]);
to subscribe events in first style, this:
function testctrl($scope) { this.prop = 'prop'; $scope.$on('event', function (event, params) { ... }); } angular.module('app').controller('test', ['$scope', testctrl]);
hope helps.
Comments
Post a Comment