Macht Verhalten von hyperlinks bedingte in AngularJS

In einer Angular-app, ich habe eine Liste von hyperlinks, die müssen das folgende Verhalten:

  • wenn eine bestimmte Bedingung vorhanden ist (z.B. wenn ein bestimmter cookie hat einen Wert x), ein Klick auf den hyperlink geöffnet werden soll ein modales Fenster;

  • wenn diese Bedingung nicht erfüllt ist (z.B. wenn der cookie-Wert y), wird der hyperlink sollte act in seiner üblichen Art und Weise und öffnet den link in einem neuen tab.

Die hyperlinks werden wie folgt formatiert:

<a ng-href="{{article.url}}" target="_blank" ng-click="myFunction()">
  {{article.title}}
</a>

Ich bin verwirrt, wie zur Umsetzung eines solchen Verhaltens. Wenn ich beide ng-href und ngclick Richtlinien, dann ng-href wird die url einfügen und jeder Klick öffnet eine Seite in einem neuen tab. Wenn ich entfernen Sie die ng-href Richtlinie, dann ist der einzige Weg, um einen link zu öffnen in einem anderen tab wird durch javascript, aber dies wird verhindert, indem die meisten Browser. Ich konnte nicht denken, einen Weg, um ng-href bedingt (zum Beispiel das schreiben <a ng-href="myCondition === true ? {{article.url}} : '#'"> funktioniert nicht).

Könnten Sie bitte einen Weg vorschlagen, wie die Implementierung einer solchen Funktionalität in Eckige?

  • Scheint, wie Sie bedingt müssen, oder entfernen Sie die target Attribut. Vielleicht mal hier gucken? stackoverflow.com/questions/23584201/...
  • behandeln Sie die Logik in den controller, ob redirect oder open modal popup
InformationsquelleAutor azangru | 2015-02-08
Schreibe einen Kommentar