2015-05-21 24 views
2
<input ng-model="example" required> 

是否可以根據條件包含或排除屬性「required」?AngularJS中的條件HTML5屬性?

+0

哪裏的條件從何而來?也許你不應該在服務器端生成屬性?另外,你希望通過這樣做來達到什麼目的?你確定你確實需要這個自定義屬性/需要有條件地刪除它嗎? – Cubic

回答

1

可以使用

<input type="text" ng-required="isRequired"/> 

凡在你的控制器:

$scope.isRequired = true; 

正好被設置爲你想要的任何條件的範圍變量!

+0

在我的情況下沒有「=」。它是一個HTML5屬性。所以我想知道是否有可以根據條件從HTML完全排除它。 – Prabhu

+0

嗯...有沒有你不想用ng-required的原因呢? –

+0

其實我只是舉了一個例子。在我的具體情況下,它是一個自定義屬性,並且它的存在是否影響功能。所以我不需要根據條件包含屬性。 – Prabhu

0

其實我貼「required」只是一個例子。在我的特例 這是一個自定義屬性和它的存在是否值 真或假影響功能。所以我不需要根據條件包含 屬性。並根據AngularJS docs on angular.element

// <div id="div1" align="left" width="200px"> 
document.getElementById("div1").removeAttribute("align"); 
// now: <div id="div1" width="200px"> 

然後這個external blog post可以:

如果這是在參考empty HTML5 attributes併除去該屬性本身,以避免再一個布爾真條件:

實施例從MDN docs element.removeAttribute()

  • 刪除屬性: angular.element(DOMelement).removeAttr(attribute)
  • 讀取angular.element(DOMelement).attr(attribute)
  • 屬性的集合的屬性與angular.element(DOMelement).attr(attribute, value)

注:在所有角元素引用總是包裹與jQuery 或jqLit​​e;他們從來沒有原始的DOM參考。

希望這有助於 - GL!


EDIT1:下面是一個SO討論有關 DOM manipulation and Angularjs這裏的 another

EDIT2:下面是一個external tutorial on how to create an AngularJS Directive for DOM manipulations(包括單元測試)