javascript - Angular 的动态属性

标签 javascript angularjs angularjs-directive

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

有一点条件:如果 body 有类 fa 所有 input:text 不是电子邮件类型 得到 lang="fa"属性。

我知道如何使用 jquery 来实现,但我不知道如何以 Angular 方式实现。
这是我对 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/

关于javascript - Angular 的动态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28109773/

相关文章:

javascript - 如何在平板电脑和手机的 Android 设备方向更改时获得正确的窗口宽度

javascript - Bootstrap 字形错误 : square instead of icon

javascript - 在 Spark AR 中将标量数字解析为文本

javascript - 将数据从表单返回给 Controller

javascript - 将 ngAnimate 与 Angular-Formly 结合使用 (ngHide/ngShow)

angularjs - 检测 AngularJS 指令中是否使用了可选的嵌入元素?

javascript - 指令不返回 html 元素

javascript - 允许 HTML 文本框中有空格

javascript - 与 Angular 合作的第一天;我究竟做错了什么?

javascript - AngularJS fadein 适用于第一个元素