我有一个代码
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();
});
});