我在AngularJS中有一个函数:
function TrendChart(){
$scope.data = [];
$scope.datta = [];
TrendChartFactory.get({kpiItem: $scope.selectedKpiItem.key, puItem: $scope.puName},function(data){
$scope.trendValues = data;
console.log($scope.trendValues);
})
getKpiValue($scope.selectedKpiItem.key,$scope.trendValues);
}
但我想在我的函数之外访问$ scope.trendValues:
function getKpiValue(selectedKPI,trendV) {
for(var i= 0; i< $scope.trendV.length;i++){
console.log($scope.trendV[i][selectedKPI]);
$scope.data.push($scope.trendV[i][selectedKPI]);
}
$scope.datta.push($scope.data);
console.log($scope.datta);
}
但显然我得到一个错误,它是未定义的。我怎样才能解决这个问题 ?
答案 0 :(得分:0)
你可以通过angular.element
来实现<div ng-app="ManagerApp">
<div id="controller-id" ng-controller="ManagerCtrl">
</div>
</div>
JavaScript的:
var scope = angular.element(document.getElementById("controller-id")).scope();
使用scope.scopeMethod()&amp; amp;范围访问范围方法和变量后, scope.scopeVariable
详细示例的jsfiddle:
答案 1 :(得分:0)
您可以使用
var scope = angular.element(yourControllerDOMElement).scope();
var yourVariable = scope[yourVariableName];