filter $scope Error: Unknown provider: $scopeProvider <- $scope <- transformSensorStatusFilter

折月煮酒 提交于 2020-01-12 12:25:15

问题


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


回答1:


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?




回答2:


I found that "this" references local $scope (inside filter function.) Not sure if this is safe way of accessing it tho.



来源:https://stackoverflow.com/questions/19311102/filter-scope-error-unknown-provider-scopeprovider-scope-transformsens

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!