2017-11-14 3 views
0

Hey ich habe Array von Zahlen, ich schreibe sie mit ng-Wiederholung. Wenn Sie auf eine Nummer klicken, sollte übergeben werden, um passParameterToService Parameter-Index Funktion und sollte im Dienst zu Variable this.whichBoard gespeichert werden. Aber ich habe etwas falsch gemacht, kann mir jemand sagen, warum ng-repeat nicht funktioniert, wenn ich Service hinzufüge und warum nach dem Klicken auf eine Nummer, es nicht auf eine Variable schreiben?Übergabe eines Parameters an einen Dienst mit ngclick AngularJS

demo 

https://codepen.io/Turqus/pen/WXEryN

Antwort

0

In Ihrem Service sind Sie this.whichBoard erklären aber innerhalb der Funktion verwendet, um Sie wieder den gleichen benannte Variable. Wenn Sie this.board innen gesetzt, wäre es wahrscheinlich funktionieren:

app.service('serwis',()=> { 
    this.whichBoard = (index) => { 
    this.board = index; 
    }; 
}); 

Auch im Rufmethode haben Sie:

<a href="#" ng-click="passParameterToService($index)"> 
    <span ng-repeat="item in arrayIndex">{{item}}</span> 
</a> 

Sie $ index vorbei, der kein Wert ist. Außerdem haben Sie die Wiederholung innerhalb des Methodenaufruf, so ändern Sie es an:

<div ng-repeat="item in arrayIndex track by $index"> 
    <a href="#" ng-click="passParameterToService(item)">{{item}}</a> 
</div> 
+0

Hey, wenn ich Variable in Dienst haben, zum Beispiel this.helloWorld = ‚‘, kann ich von ng-Click-Wert auf diese Variable übergeben ? zum Beispiel ng-click = "serwis.helloWorld = null" ??, Es wird funktionieren? –

+0

Nicht aus Sicht einer Service-Nr. Sie müssen den Controller durchlaufen. – rrd

+0

Ok letzte Frage, wenn ich serwis mit Variable this.hello = '' habe; und im Controller werde ich serwis.hello = 'yoYo' machen; Diese Variable wird im Service geändert ?? –

Verwandte Themen