以下是我要做的事情:
我尝试$state.reload()
开始无限循环。
我尝试清除$ rootScope上的范围变量。$ on($ stateChangeLeave)等。
这是我的html看起来的样子(合规指标是指令):
<div class="col-md-4" ng-repeat="gauge in regulatorDict[license.reg_id].gauges">
<compliance-gauge license="regulatorDict"
id="license.reg_id + gauge.name"
key="gauge.name"
value="license.applied[gauge.value]"
max="gauge.max"></compliance-gauge>
这是指令js文件:
export default function() {
'ngInject';
'use strict';
return {
restrict: 'E',
replace: false,
scope: {
key: '=',
id: '=',
value: '=',
max: '='
},
templateUrl: template,
controller: function($scope,$state) {
'ngInject';
let percentage = ($scope.value / $scope.max) * 100;
let gaugeColors = ['#72C02C', '#f8ac59', '#ED5565'];
$scope.colorDict = {};
$scope.newId = $scope.id.split(' ')[0];
if (percentage >= 66) {
$scope.colorDict[$scope.newId] = gaugeColors[0];
} else if (percentage >= 33 && percentage < 66) {
$scope.colorDict[$scope.newId] = gaugeColors[1];
} else {
$scope.colorDict[$scope.newId] = gaugeColors[2];
}
}
};
}
有什么建议吗?