angularjs - HTML 属性的转义翻译

标签 angularjs angular-translate

我正在使用 Fuse 主题 ( http://fuse-angular-material.withinpixels.com/dashboard-project ) AngularJS 主题,但我在 Angular-Translate 和 Stepper 方面遇到问题。我想翻译该步骤的标题,但 html 语法很奇怪: step-title="'Description'" 。正如你所看到的,有双引号和简单引号(???),我不知道为什么......

这里是一个例子:

<form name="stepper" ms-stepper ng-submit="vm.submitStepper()" ng-model="vm.stepper" novalidate>
    <ms-stepper-step ng-form="step1" step="1" step-title="'Description'">
        <div ng-include="'app/main/management/users/dialogs/stepper/step-description.html'"></div>
    </ms-stepper-step>

    <!--  other steps... -->
</form>

step-title="'Description'" 是一个大问题,因为我无法对其使用 Angular-translate。我不能做这样的事情:

        <ms-stepper-step ng-form="step1" step="1" step-title="'{{ 'trad' | translate }}'">

如何在步进器 html 属性中使用翻译?

非常感谢!

最佳答案

其实你可以通过 step-title="'{{ 'trad' | translate }}'"

因为它有stepTitle: '=?' 但我不确定

您可以更改组件的源代码:

  module.exports = function(){
    return {
        restrict: 'E',
        require : ['form', '^msStepper'],
        priority: 1000,
        scope   : {
            step        : '=?',
            stepTitle   : '=?',
            optionalStep: '=?',
            externalCallback: '&?',
            showButtons: '=?',
            status: '='
        },
        compile : function (tElement)
        {
            tElement.addClass('ms-stepper-step');

            return function postLink(scope, iElement, iAttrs, ctrls)
            {
                var FormCtrl = ctrls[0],
                    MsStepperCtrl = ctrls[1];

                // Is it an optional step?
                scope.optionalStep = angular.isDefined(iAttrs.optionalStep);

                // Register the step
                MsStepperCtrl.registerStep(iElement, scope, FormCtrl);

                // Hide the step by default
                iElement.hide();
            };
        }
    }
}

所以你需要修改步进指令

你有2个选择

尝试切换到stepTitle: '@'

或者

用模板做一些事情

 <div layout="column" layout-align="start start">
                <div class="title">{{step.stepTitle}}</div> <!-- here is the title-->
                <div class="subtitle" ng-if="MsStepper.isStepOptional(step.stepNumber)">Optional</div>
            </div>

关于angularjs - HTML 属性的转义翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43808529/

相关文章:

javascript - AngularJS 使元素可制表

javascript - Angular 2 是取代普通的旧 AngularJS 还是替代品?

javascript - 有没有办法在 Ionic/Angular/Cordova 堆栈中查找以 dp(而不是 px)为单位的屏幕尺寸?

javascript - Angular 翻译 UTF8 字符 (pascalprecht.translate)

angularjs $location.path 仅在第二次单击时更新 URL

angularjs - 从 angularjs Promise 返回对象的问题

AngularJS:在应用程序引导后设置 $routeProvider?

angularjs - 头部描述或关键字的 Angular 翻译

javascript - Angular 翻译服务,在嵌套的 json 中插入参数

angularjs - 使用 Angular 翻译时如何在 LocalStorage 中保留所选语言?