angularjs – 如何重新渲染角度滤镜

前端之家收集整理的这篇文章主要介绍了angularjs – 如何重新渲染角度滤镜前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法重新渲染AngularJS过滤器?我正在尝试使用角度货币过滤器,根据加载的语言文件显示货币符号.一旦我以编程方式加载相应的语言文件,我需要重新渲染过滤器.

解决方法

从Angular 1.3过滤器是无状态的,这意味着过滤器只会在他们的输入发生变化时更新.

如果您想要更新过滤器,则需要制作过滤器$stateful.

app.filter('translate',translate);

translate.$inject = ['$rootScope'];

function translate($rootScope){

    filter.$stateful = true;

    return filter;

    function filter(str) {
        return i18n[$rootScope.currentLang][str];
    };
}

过滤器将在每个$digest上执行,但这是perfm不建议的.

猜你在找的Angularjs相关文章