Angularjs - 从module.config调用函数

时间:2014-04-07 06:10:28

标签: angularjs config angularjs-scope restangular

我的代码是

var viewerAngular = angular.module('ngAppDemo', ['restangular','btford.socket-io'])
.config(function(RestangularProvider) {
$.get('../config/config.xml',
        function(data) {

            $(data).find('contentserver').each(function() {
                serverDetails.contentserver = assignServerDetails($(this));
                var restprovider = RestangularProvider;
                restprovider.setBaseUrl("http://"+serverDetails.contentserver.ip+":"+serverDetails.contentserver.port+"\:"+serverDetails.contentserver.port);
                //$scope.init();
            });

    });

在阅读config(init())文件后,我需要调用函数../config/config.xml。 我收到ReferenceError: $scope is not defined的错误。

如何在$scope中添加module.config?或者如何从配置中调用函数?

3 个答案:

答案 0 :(得分:0)

如果您需要在配置中为每个范围添加内容,可以使用$rootScope,但最好是为该数据创建服务。

答案 1 :(得分:0)

您无法在配置阶段询问 - 例如,您只能询问提供商。

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

// configure stuff
app.config(function($routeProvider, $locationProvider) {
  // you can inject any provider here
});

// run blocks
app.run(function($rootScope) {
  // you can inject any instance here
});

有关详细信息,请参阅http://docs.angularjs.org/guide/module

答案 2 :(得分:0)

var viewerAngular = angular.module('ngAppDemo', ['restangular','btford.socket-io'])
.config(function(RestangularProvider) {
$.get('../config/config.xml',
    function(data) {

        $(data).find('contentserver').each(function() {
            serverDetails.contentserver = assignServerDetails($(this));
            var restprovider = RestangularProvider;
            restprovider.setBaseUrl("http://"+serverDetails.contentserver.ip+":"+serverDetails.contentserver.port+"\:"+serverDetails.contentserver.port);
            var Scope=angular.element(document.querySelector('[ng-controller="controllerName"]')).scope();
            Scope.init();
        });

});