AngularJs双语应用密码表

时间:2019-04-17 05:39:06

标签: angularjs angularjs-directive

我正在使用ng-password-meter确定登录时的密码强度。现在我的项目是双语的(使用英语和瑞典语)。我也希望以瑞典语显示“强”和“弱”之类的消息。我有什么办法可以对ng-password-meter工具进行操作,使其也可以在瑞典使用。如果没有,那么还有其他适用于2种语言的angularjs工具吗?如果不是这样,那么请帮助我确定如何定制它。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这应该可以帮助您:

1)更新模板行,将{{message}}替换为{{displayMessage()}}

template: '<div class="pass-meter {{masterClass}}"><div class="{{colClass}} pass-meter-col {{first}}"><div class="indicator"></div></div><div class="{{colClass}} pass-meter-col {{second}}"><div class="indicator"></div></div><div class="{{colClass}} pass-meter-col {{third}}"><div class="indicator"></div></div><div class="{{colClass}} pass-meter-col {{fourth}}"><div class="indicator"></div></div><div class="pass-meter-message">{{displayMessage()}}</div></div>',

2)更新范围,使其包含translateFilter绑定

scope: {
    password: '=',
    strength: '=?',
    translateFilter: '<?'
},

3)添加具有适当的displayMessage函数的控制器:

controller: ['$scope','$filter', function($scope, $filter){
    $scope.displayMessage = function() {
         return (!!$scope.translateFilter) 
              ? $filter($scope.translateFilter)($scope.message)
              : $scope.message;
    };
}],

4)将您的翻译过滤器传递给指令:

app.filter('customTranslate', function(){
    return function(value) {
        return value + 'tada';
    }
});

<ng-password-meter password="password" translate-filter="'customTranslate'"></ng-password-meter>