Angularjs - 从module.config调用函数



我有一个代码

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(../config/config.xml)文件后调用函数init()。我收到ReferenceError: $scope is not defined的错误。

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

如果您需要向配置中的每个范围添加某些内容,则可以使用 $rootScope ,但更好的做法是为该数据创建服务。

您不能在配置阶段询问 - 您只能询问提供程序。

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。

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();
        });
});

相关内容

  • 没有找到相关文章

最新更新