2016-12-26 4 views
0

Ich habe einen Code, der etwa wie folgt aussieht:Mit ng-repeat Objektwert als JavaScript-Parameter

<tr ng-repeat="obj in objs"> 
    <td onClick = "someFunction({{obj.val1}})">{{obj.val2}}</td> 
    <td>{{obj.val3}}</td> 
</tr> 

Die colums richtig zeigen val2 und val3, aber die OnClick Methode, die ich nicht zu definieren, ich versuche, tut arbeiten, da der Code nicht von {{obj.val1}} in den richtigen Wert übersetzt, bleibt es wie es ist.

Wie kann ich {{obj.val1}} ordnungsgemäß an das onClick-Ereignis senden? Kann das gemacht werden?

+1

versuchen ng-click = "someFunction (obj.val1)" –

Antwort

2

Verwenden ng-click statt onClick und weisen Sie die someFunction() Funktion Winkel $scope

+0

Während jeder technisch korrekt ist, nur Sie erwähnt, dass ich auch die Funktion in $ Scope setzen musste um es mit ng-click verwenden zu können, wähle ich Ihre Antwort –

+0

Viel Glück mit Ihrem Projekt! – Karlen

-2

tun:

<td onClick = "someFunction(obj.val1)">{{obj.val2}}</td> 
+0

Ich hatte bereits versucht, und es funktioniert nicht –

0

In Winkel sie bereits Richtlinie ng-clickDie ngClick Richtlinie können Sie benutzerdefinierte Verhalten angeben genannt haben, wenn ein Element geklickt wird., die für Klickereignis verwendet wurde. Und Sie brauchen nicht um den Parameter zu binden {{}}

dann Ihren Code kommen wie

<tr ng-repeat="obj in objs"> 
    <td ng-click = "someFunction(obj.val1)">{{obj.val2}}</td> 
    <td>{{obj.val3}}</td> 
</tr> 
0

Ja, es kann getan werden. Mit ng-klick

<tr ng-repeat="obj in objs"> 
    <td ng-click = "someFunction(obj.val1)">{{obj.val2}}</td> 
    <td>{{obj.val3}}</td> 
    </tr> 

Sie müssen die Werte nicht binden Mit {{}} können Sie sie einfach als Funktionsparameter angeben.