ich html haben, die unten wie man sieht, ich habe 2x in beiden Situation in ganzen Code ng Klick I gleiche Funktion aufrufen. Beide Funktionen sind in demselben Controller.ng Sie innerhalb ng-repeat nicht funktioniert
<div class="tagselect tagselect--frameless">
<div class="combobox__body combobox__body--open combobox__body--frameless" ng-show="focus">
<ul class="list-unstyled">
<li class="combobox__item" ng-repeat="pos in listCtrl.positions | filter:query as results"
ng-click="listCtrl.choosePosition(pos)">{{pos.name}}
</li>
</ul>
</div>
</div>
<div class="col-md-2 no-padding">
<button type="button" class="btn btn-success" ng-click="listCtrl.chosenPositions(789456)">Add</button>
</div>
Controller wie folgt aussehen:
myApp.controller('ListCtrl', ['$scope', '$cookies', '$http', function ($scope, $cookies, $http) {
var listCtrl = {
candidates: [],
positions: [],
chosenPositions: [],
init: function() {
listCtrl.getCandidates();
listCtrl.getPositions();
},
getCandidates: function() {
$http.get('candidates.json').then(function (res) {
listCtrl.candidates = res.data;
});
},
getPositions: function() {
$http.get('positions.json').then(function (res) {
listCtrl.positions = res.data;
});
},
choosePosition: function (position) {
console.log(position);
}
};
listCtrl.init();
$scope.listCtrl = listCtrl;
}]);
I-Check für missspells verdoppeln und sicherstellen, es ist nicht wegen der Funktion (ich einen neuen erstellen mit einfachem Konsolenprotokoll).
Problem ist, dass Schaltfläche klicken korrekt aufrufen Funktion aber ng-repeat <li ng-click="">
tut nichts tun. Ich lese angulare Dokumentation ein, dass ng-repeat einen neuen Bereich erstellt, aber dieser sollte immer noch okey sein, sobald ich Referenz auf Objekt listCtrlchoosePosition()
kann Kann mir jemand sagen, was ich falsch mache? Dank
EDIT: Plunker Beispiel: http://plnkr.co/edit/ooUQA2n1Vyj8RZtsQ1Pj?p=preview
es wie die pos durch ng Wiederholung ist ein Objekt, aber der Anruf zurück scheint das funktioniert: listCtrl.chosenPositions (789456) empfängt ein primitiv, also denke ich, dass Sie tun sollten ng-click = "listCtrl.choosePosition (pos.someProperty) im ng-repeat –
Hallo @ ArturoMontaño Sie recht sein, wenn diese Funktion aber alles tun wird, wie es jetzt ist es es nur console.log Wert bekommen (Ich kann nicht wissen, Das tut mir leid. Auch Problem ist, dass, wenn ich Haltepunkt in der Funktion verwenden Sie es sogar innerhalb der Funktion – Andurit
http://chat.stackoverflow.com/rooms/113821/ng-click-inside-ng-repeat-doesnt-work erhalten didnt – slackmart