AngularJS - 如何限制服务可见性?

时间:2014-12-19 21:29:53

标签: javascript angularjs

我试图创建一个只在某些模块中可见的角度服务(但不是全部)。我尝试在模块中创建服务,然后将其包含在不同的模块中,但该服务仍然在整个应用程序中可见。 例如:

var myAppSubModule = angular.module('myAppSubModule',[]);
myAppSubModule.factory('TestSubService', function() {
    return {
        testFnc: function() {
            return 'test';  
        }
    }
});

var myAppModule = angular.module('myAppModule',['myAppSubModule']);
myAppModule.factory('TestService', function(TestSubService) {
    return {
        testFnc: function() {
            return TestSubService.testFnc(); //this should work
        }
    }
});

var myApp = angular.module('myApp',['myAppModule']);

function MyCtrl($scope, TestSubService, TestService) {
    $scope.name = TestService.testFnc(); //this should work
    $scope.name2 = TestSubService.testFnc(); //this should fail
}

我希望TestSubService在TestService中可见,但不是在整个应用程序中。 有没有办法实现这个目标?

0 个答案:

没有答案