过滤器$范围错误:未知提供商:$ scopeProvider&LT; - $范围&LT; - transformSensorStatusFilter [英] filter $scope Error: Unknown provider: $scopeProvider <- $scope <- transformSensorStatusFilter
本文介绍了过滤器$范围错误:未知提供商:$ scopeProvider&LT; - $范围&LT; - transformSensorStatusFilter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
marsApp.filter(transformSensorStatus功能($范围){
返回功能(输入选项){ 变种sensorReading =(输入(输入/ 1000):0);
VAR sensorLowLimit =(选项[LOWLIMIT](选项[LOWLIMIT] / 1000):0);
VAR sensorHighLimit =(选项[HighLimit时(选项[HighLimit时] / 1000):0);
VAR curStat;
开关(sensorReading){
案例255:
案例254:
案例253:
curStat = generateStateInnerHtml(sensorReading);
打破;
默认:
curStat = generateStateInnerHtml(选项[sensorStatus]); } 返回curStat;
功能generateStateInnerHtml(州){ VAR stateHtml = NULL; 如果(状态== || 255 ==状态254){
stateHtml =一个;
$ scope.sensorStateColor ='';
返回state_html;
}
如果(状态== 253){
stateHtml =b的;
$ scope.sensorStateColor =TEXT-警告;
返回state_html;
}
如果(国家&GT; = 0x20的){
stateHtml =C;
$ scope.sensorStateColor =TEXT-错误;
返回stateHtml;
}
如果(国家&GT; = 0×02){
stateHtml =D;
$ scope.sensorStateColor =TEXT-错误;
返回stateHtml;
}
如果(状态== 0×01){
stateHtml =E;
$ scope.sensorStateColor =TEXT-成功;
返回stateHtml;
}
stateHtml =N / A;
返回stateHtml;
}
}
});
在Chrome中,我得到以下错误:
错误:未知提供商:$ scopeProvider&LT; - $范围&LT; -
transformSensorStatusFilter
块引用>解决方案的
$范围
仅用于控制器和指令的链接功能可用。这就是为什么过滤器不能找到它。也许你的意思$ rootScope
?marsApp.filter("transformSensorStatus", function($scope) { return function(input, options) { var sensorReading = ( input ? ( input / 1000) : 0); var sensorLowLimit = (options["lowLimit"] ? (options["lowLimit"] / 1000) : 0); var sensorHighLimit = (options["highLimit"] ? (options["highLimit"] / 1000) : 0); var curStat; switch (sensorReading) { case 255: case 254: case 253: curStat = generateStateInnerHtml(sensorReading); break; default: curStat = generateStateInnerHtml(options["sensorStatus"]); } return curStat; function generateStateInnerHtml(state) { var stateHtml = null; if (state == 255 || state == 254) { stateHtml = "a"; $scope.sensorStateColor=''; return state_html; } if (state == 253) { stateHtml = "b"; $scope.sensorStateColor="text-warning"; return state_html; } if (state >= 0x20) { stateHtml = "c"; $scope.sensorStateColor="text-error"; return stateHtml; } if (state >= 0x02) { stateHtml = "d"; $scope.sensorStateColor="text-error"; return stateHtml; } if (state == 0x01) { stateHtml = "e"; $scope.sensorStateColor="text-success"; return stateHtml; } stateHtml = "N/A"; return stateHtml; } }
});
in chrome , I get the following error:
Error: Unknown provider: $scopeProvider <- $scope <- transformSensorStatusFilter
解决方案The
$scope
is available only for controllers and the link function of directives. This is why the filter cannot find it. Maybe you meant$rootScope
?这篇关于过滤器$范围错误:未知提供商:$ scopeProvider&LT; - $范围&LT; - transformSensorStatusFilter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文