2014-03-28 85 views
0

根據一個指令邏輯,我希望有條件地向SAME元素添加另一個指令。條件指令

例如:

  • 我使用第三方angular.bootstrap.tooltip指令
  • 添加工具提示ONLY如果某些條件得到滿足
  • 沒有初始化工具提示指令,如果它不是必要

我想動態添加工具提示(或任何其他指令)只有條件滿足。

  1. Here is a first attempt
  2. and second with $compile/priority/terminal

難道還有比使用$編譯更好的辦法?

Here is original Angular group discussion

回答

0

我會去的第一個。它看起來比第二個簡單得多。除非有充足的理由這樣做。第一條指令很容易理解爲我作爲局外人,而第二條指令需要更多時間才能讓我頭腦發熱。

只有當您稍後遇到麻煩時,您纔可以重新考慮您的解決方案。但是,爲什麼現在擔心,當它沒有理由(但)呢?

+0

是的,這很簡單。但它會爲每個項目創建工具提示。我試圖避免的。 –

0

我認爲terminal選項是理想的,將解決您的問題。如果設置爲true那麼當前優先級將是將在元素上執行的最後一組指令。

演示:http://jsfiddle.net/codef0rmer/aNCY3/

+0

不完全是我在找的東西。應該有條件指令。您在ng-repeat之上創建了noEntry指令優先級,因此它只執行一次,但沒有追加,因爲ng-repeat使用了跨越。請參閱http://jsfiddle.net/rRUr8/2/ –