in einem Winkel app, ich habe eine Liste von Hyperlinks, die das folgende Verhalten haben müssen:machen Verhalten von Hyperlinks bedingten in AngularJS
wenn eine bestimmte Bedingung vorliegt (zB wenn ein bestimmter Cookie hat einen Wert x), ein Klick auf den Hyperlink sollte ein modales Fenster öffnen;
Wenn diese Bedingung nicht erfüllt ist (z. B. wenn der Cookie den Wert y hat), sollte der Hyperlink wie gewohnt funktionieren und den Link in einem neuen Tab öffnen.
Die Hyperlinks formatiert sind wie folgt:
<a ng-href="{{article.url}}" target="_blank" ng-click="myFunction()">
{{article.title}}
</a>
Ich bin verwirrt durch, wie ein solches Verhalten zu implementieren. Wenn ich sowohl ng-href
als auch ngclick
Direktiven belasse, fügt ng-href
die URL ein und jeder Klick öffnet eine Seite in einem neuen Tab. Wenn ich die ng-href
Direktive entferne, dann ist der einzige Weg, um einen Link in einem anderen Tab zu öffnen, über Javascript, aber dies wird von den meisten Browsern verhindert. Ich konnte mir keinen Weg vorstellen, ng-href
bedingt zu machen (zum Beispiel funktioniert das Schreiben von <a ng-href="myCondition === true ? {{article.url}} : '#'">
nicht).
Könnten Sie bitte eine Möglichkeit vorschlagen, wie Sie eine solche Funktionalität in Angular implementieren können?
Es scheint, als ob Sie das Attribut 'target' unbedingt hinzufügen oder entfernen müssen. Vielleicht schau mal hier rein? http://StackOverflow.com/Questions/23584201/Conditional-Add-Target-Blank-To-Links-with-angular-Js –
Handle die Logik in Controller, ob modales Popup umleiten oder öffnen –