Angular自定义过滤器在Firefox中不起作用

时间:2014-05-08 04:05:35

标签: angularjs firefox

我在firefox中遇到了一个问题(已在Chrome和IE中测试并运行),因此自定义过滤器无法正常运行。这是重复的模板:

    <img src="/Images/blank.gif" ng-class="a.VolunteerStatus | classSwitch:{1:'icon  assignment_status assignment_empty',2:'icon assignment_status assignment_inactive',3:'icon assignment_status assignment_unverified',4:'icon assignment_status assignment_verified'}" ng-click="toggleVolunteerStatus(a)" title="" />

这基本上是一个带有css类的图像,它根据底层状态进行切换。这是我模块中的过滤器:

    departmentModule.filter('classSwitch', function () {
        return function (input, map) {
            return map[input] || '';
        };
    }); 

Firefox在控制台中没有显示错误,但 firefox中的过滤器总是返回第二个开关,而不管基础数据。所以所有元素都有类:icon assignment_status assignment_inactive

如果有帮助,这里是在Firefox中呈现的元素:

    <img class="icon assignment_status assignment_inactive" src="/Images/blank.gif" ng-class="a.VolunteerStatus | classSwitch:{1:'icon assignment_status assignment_empty',2:'icon assignment_status assignment_inactive',3:'icon assignment_status assignment_unverified',4:'icon assignment_status assignment_verified'}" ng-click="toggleVolunteerStatus(a)" title="">

见Marck提供的plunker here

开发人员的想法是什么?您的阅读时间非常感谢。 感谢。

1 个答案:

答案 0 :(得分:2)

您的CSS使用Firefox无法识别的非标准属性...

例如,这个:

background-position-y: -20px;

应该是:

background-position: 0 -20px

我在this Plunker中替换了这些属性,当您更新范围属性时,显示的图标在Firefox中会发生变化。