string.format AngularJS中的字符串动态

时间:2016-07-05 09:30:06

标签: angularjs angularjs-directive

我有一个translate指令,它接受一个键并提供当前语言环境中可能是任何语言的文本。

例如,你可以这样做:

<p translate="yes">#App.MyString</p>

<p>{{'#App.MyString' | translate }}</p>

它将以所选文化的语言打印。

<p> This is my string </p>

处理翻译的过滤器是:

export class TranslateFilter {
        public static build(getTextCatalog: Infrastructure.IGettextCatalog) {
            var filter = (resourceKey, resourceType, resourcePrefix) => {
                if (resourcePrefix != null) {
                    resourceKey = `${resourcePrefix}.${resourceKey}`;
                }
                return getTextCatalog.getString(`#${resourceType}.${resourceKey}`);
            };
            return filter;
        }
    }

我现在也想尝试将它与string.Format。

结合起来

因此,如果#App.KeyString包含这样的字符串:'Hi {0}. Welcome to {1}'我可以使用动态值执行string.Format。

我可以在控制器中做到这一点,但我想知道是否可以在html文件上完成。

例如:

<p translate="yes" format="{{scope.name}},{{scope.place}}">#App.MyString</p>

<p>{{'#App.MyString' | translate | format:[$scope.name, $scope.place] }}</p>

会打印

'Hi Nick! Welcome to Narnia'

有什么想法吗?

0 个答案:

没有答案