如何访问服务中控制器的属性?
在我的情况下,它是一个数组,我想在我的服务中更改。
我的控制器:
myApp.controller('MainController', function ($scope, $interval, externalDataService, AnalyzeService) {
$scope.myArray = [];
var size = 10;
var analyze = function () {
if($scope.myArray .length > size) {
AnalyzeService.doSomething();
}
};
var analyzeData = function () {
externalDataService.getData().then(function (data) {
$scope.faceReaderData.push(data);
analyze();
});
};
$interval(analyzeData , 2000);
});
我的服务:
myApp.service('AnalyzeService', function () {
this.doSomething = function () {
//here i want array access
}
});
答案 0 :(得分:1)
您不希望这样做,因为它会使您的服务依赖于您的控制器,这是非常不可取的。而是将数组作为参数添加到document.getElementById('controls').appendChild(controlDiv);
:
doSomething
这样,您的服务根本不依赖于您的控制器,将您的业务逻辑与控制器分开。