2016-07-27 21 views
0

Ich bin ein Anfänger in AngularJS. Ich baue ein Corporate Dashboard. Ich habe zwei Ansichten - Dashboard und Profile. In Profilen habe ich mehrere Profildetails, die ich mit ng-repeat rendere und der JSON ist auch im Profil-Controller vorhanden. Immer wenn ein Benutzer auf eines der Profile klickt, möchte ich es auf das Dashboard dieses Profils umleiten.Fehler beim Übergeben eines Winkelarguments in einem Funktionsaufruf innerhalb der NG-Klick-Anweisung

nun in der ng-repeat:

<md-card ng-repeat="data in epc.employees" class="empCard md-whiteframe-4dp" > 

Ich verwende ng Klick wie folgt aus:

<a ui-sref="dashboard"><md-button ng-click="loadGraphs({{data.id}})">View Dashboard</md-button></a> 

Die loadGraphs Funktion unabhängig in einem anderen JS Blatt definiert ist, und wird verwendet, um zu manipulieren die C3.js Charts. Nun, wenn ich auf den Button klicken Ich werde umgeleitet mit dem folgenden Fehler auf Dashboard:

angular.js:10347 Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 8 of the expression [check({{data.id}})] starting at [{data.id}})]. 

ich auch versucht: <a ui-sref="dashboard"><md-button ng-click="loadGraphs(data.id)">View Dashboard</md-button></a>

In diesem Fall gibt es kein Fehler ist, aber die Funktion nicht aufgerufen wird beim Weiterleiten an das Dashboard. Bitte helfen.

+0

Sie müssen das Argument 'loadGraphs' nicht in Klammern setzen. –

+0

Ich habe es auch ohne Klammern versucht. In diesem Fall gibt es keine Fehler, aber die Funktion wird immer noch nicht aufgerufen. – Rakeysh

+0

Benötigen Sie weitere Informationen, um zu sehen, was vor sich geht? Kannst du den relevanten Controller Code und HTML einreichen? –

Antwort

0

Eigentlich in ng-klicken Sie nicht brauchen, Klammern zu verwenden:

<md-button ng-click="loadGraphs(data.id)">View Dashboard</md-button> 

Wenn Sie noch Fehler bekommen, ob es keine Tippfehler in Ihrer Funktionsnamen ist und wenn Sie die gleichen Bereiche verwenden (Controller) . Ich empfehle Ihnen, einige eckige Tutorials zu überprüfen.