我如何有条件地在角度中添加模板中的属性

时间:2015-02-18 01:38:28

标签: angularjs angularjs-directive

在我的指令模板中,我有这个

<span sortable draggable></span>

现在我想基于某个范围变量有条件地添加sortabledraggale

当我尝试这个时

<span ng-attr-sortable="false">

它基本上变成了

<span sortable="false"></span>仍然可以排序

如果表达式为假,我想要完全删除

<span> </span>

1 个答案:

答案 0 :(得分:2)

应与elem.removeAttr('sortable')一起使用。其中elem是jQuery lite元素,您可以将其作为link: function (scope, elem) { ... }传入,或使用elem.find(...)按标记名称定位子元素。

但是您可能想要在link: function () {...}内设置,而不是在模板中设置。您可以随时创建自己的过滤器,以删除可在模板中使用的属性。

请参阅:https://docs.angularjs.org/api/ng/function/angular.element(查找removeAttr)。