Angular 的动态属性

Dynamic attribute with Angular

我想使用 angular 将 lang='fa' 属性添加到我表单中的所有 input:text 。

有一点条件:如果正文有 class fa 所有 input:text 不是电子邮件类型 get lang="fa"属性 。

我知道如何用 jquery 做,但我不知道如何用 angular 做。
这是我的 fiddle 和 Jquery :Demo
Jquery :

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

您可以向 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。参见 fiddle:http://jsfiddle.net/b37wdm07/