2

子要素ではなく要素を非表示にする ng-show のようなディレクティブを作成するにはどうすればよいでしょうか?

url変数が角度テンプレートに存在するかどうかを考えていました

<a ng-show-link="url" ng-href="{{url}}">
  <img ng-src="picture.png" />
</a>

印刷します

<a href="/url">
  <img src="picture.png" />
</a>

、およびurlが存在しなかった場合

<img src="picture.png" />

. ng-repeat で使用する場合、追加のコンテナー要素を切り取るのに役立ちます。

4

2 に答える 2

3

タグを付けて、URLが存在する場合はタグでラップする<img>ディレクティブを作成する方が簡単だと思います。追加/ラッピングは、既存のタグを削除するよりもクリーンです。<a>

ビューに少し冗長性がありますが、ディレクティブなしでこれを行うこともできます。

<a ng-show="url" ng-href="{{url}}"><img src="picture.png" /></a>
<img ng-hide="url" src="picture.png" />
于 2013-04-02T19:17:00.580 に答える
0

カスタム ディレクティブを作成して<a>タグに適用し、URL を属性に渡します。URL が定義されていない場合は、JQuery dom 操作を使用して を削除し、その場所<a>に保持<img>します。

リンクを無効にするか、代わりに使用する方がはるかに簡単ですがjavascript:;. を削除しようとするの<a>は、時期尚早の最適化のようなものです。

于 2013-04-02T19:02:22.793 に答える