Angular的动态属性

时间:2015-01-23 12:19:16

标签: javascript angularjs angularjs-directive

我想将lang ='fa'属性添加到所有输入:带有角度的表单中的文本。

有一点条件:如果正文有fa个分类,则所有input:text 不是电子邮件类型 get lang =“fa”属性。

我知道如何用jquery做到这一点,但我不知道如何以角度方式做到这一点 这是我对Jquery的小提琴:Demo
Jquery:

$(document).ready(function(){
        if($("body").hasClass('fa')){
            if('input:text'){
                $('input:text').attr('lang','fa');
            }
        }
    });

1 个答案:

答案 0 :(得分:2)

您可以为input指令(或任何指令)添加功能。这可以通过再次声明来完成。以下将做你想要的:

// we assume that the var isFa is already set, e.g as:
var isFa = angular.element(document.body).hasClass('fa');

app.directive('input', function() {
    return {
        restrict: 'E',
        link: function(scope, elem) {
            if( isFa && elem.attr('type') === 'text' ) {
                elem.attr('lang','fa');
            }
        }
    };
});

不需要jQuery。请参阅小提琴:http://jsfiddle.net/b37wdm07/