2016-10-08 1 views
0

Dies ist das erste Mal, Winkel js zu verwenden.angularjs Variable in Javascript

Der folgende Code gibt gewünschte Ausgabe:

<a href="http://www.example.com/xyz/{{life.animal}}/" target="_blank">Hello </a> 

Es öffnet sich eine Seite: http://www.example.com/xyz/cat/

Aber der Code unten funktioniert nicht wie erwartet:

<a href='javascript:void(0)' onClick='javascript:window.open("http://www.example.com/xyz/{{life.animal}}/","Windows","width=1150,height=450,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,titlebar=no,location=no,directories=no,status=no");return false')'>Hello </a> 

Es Seite wird geöffnet: http://www.example.com/xyz/ {{life.animal}}/

Ich denke, ich mache einen grundlegenden Fehler, aber bitte hilf mir.

+0

Ich verwendete target = "_ blank" stattdessen. Danke allen für die Hilfe. – ruchi

Antwort

1

Winkel interagiert nicht mit Zeichenfolgen, aber Sie versuchen, das in Ihrem onclick-Handler zu tun, der ein Fenster öffnet (Sie übergeben eine Zeichenfolge dort). Stoppen Sie die Zeichenfolge und Concat mit den Variablen:

onClick='javascript:window.open("http://www.example.com/xyz/" + life.animal)' 

Auch als @Enzey festgestellt hat, die Verwendung ng Klick statt onClick und dann die Javascript aus Ihrem HTML bringen und tun, anstatt das Zeug in einem Controller.

Z. B .:

HTML

<a href="javascript:void(0)" ng-click="myFunction()">Foo</a> 

-Controller

$scope.myFunction = function() { 
    window.open(...whatever...); 
} 
+0

Man sollte auch ein 'onclick' -Ereignis für das Element verwenden, um es in einem Popup-Fenster zu öffnen. Noch besser ist es stattdessen 'target =" _ blank "' zu verwenden. –

2

Der Winkelbereich ist nicht verfügbar außerhalb von Angular, das heißt Vanille JS.

zu einem Klick-Funktion, die Winkel Art und Weise stellen Sie ng Sie auf

Erstellen Sie eine Funktion in Ihrem Controller oder der Richtlinie wie

scope.open = function() { $window.open(...) }

In der Vorlage zu tun

ng-click="open()" verwenden sollten

1

Die Doppel-Hash werden für Winkelanweisungen nicht für Javascript Vanil verwendet la abgesehen davon ist besser, wenn Sie ng-href statt href in einem <a> Tag verwenden. Sie können dies überprüfen here