在AngularJS中替换数据绑定中的字符串

Replace string on databind in AngularJS

本文关键字:字符串 数据绑定 替换 AngularJS      更新时间:2023-09-26

我正在尝试创建一个多语言应用程序,根据用户的选择,通过初始JSON获取翻译。

翻译工作得很好,但是我需要能够用计算的数字替换字符串。例如:"蒂姆比汤姆大X%",在西班牙语中可能是"蒂姆比汤姆大X% más alto que Tom"。我需要将X替换为计算出的数字。

有没有一个Angular过滤器可以做到这一点?类似于

{{ translation.PhraseOne | replaceXWithY }}

如果没有,实现这一点的最简单方法是什么?我不希望翻译文件中有部分字符串。

干杯!

您可以通过创建自己的自定义过滤器来实现这一点。

angular.module('yourCustomFilter', [])
.filter('replaceXwithY', function() {
    return function(input, placeHolder,desiredValue){
        return input.replace(placeHolder,desiredValue);
    };
})

在你的标记中:{{翻译。短语one | replaceXwithY: X:Y}}