ngWiederholung wird nach Modellwechsel nicht aktualisiert

Ich versuche, eine kleine Sucheingabe zu codieren, um mit ngResource Daten aus einer Datenbank abzurufen.

die Daten werden auf der Seite mit einer ng-Wiederholung angezeigt, aber wenn ich die Suche durchführe und der Bereich $ aktualisiert wurde, wird die Ansicht nicht aktualisiert und zeigt alte Daten an.

Hier ist der Code:

main.html (aktive Ansicht)

<div ng-controller="searchCtrl as searchCtrl" layout="column">
    <form class="form-inline search-form col-md-offset-1">
        <div class="form-group col-md-5">
            <label class="sr-only" for="search_location">Location</label> <input
                id="search_location" type="search" class="form-control"
                ng-Autocomplete ng-model="place" placeholder="Location" />
        </div>
        <div class="form-group col-md-5">
            <label class="sr-only" for="search_tags">Tags</label> <input
                style="width: 100%;" id="search_tags" type="search"
                class="form-control" id="search_tags" placeholder="Tags">
        </div>

        <div class="col-md-1">
            <md-button class="md-fab md-mini" aria-label="Search" ng-click="searchCtrl.search()"> <md-icon class="md-fab-center"
                md-font-icon="glyphicon glyphicon-search" style="color: black;"></md-icon>
            </md-button>
        </div>
    </form>
</div>

<div ng-controller="mainCtrl">

    <div ng-repeat="evento in eventi" ng-include="'views/components/event_card.html'" class="col-md-3"></div>

</div>

main.js

'use strict';
app.factory('Eventi', function($resource) {
    return $resource('/eventsws/events/:location', {location : '@location'}, { 
        search: {
            method: 'GET',
            params: {
                'location' : "@location"
            },
            isArray : true
        }
    })
});

app.controller('mainCtrl', function($scope, Eventi) {
    $scope.eventi = Eventi.query();
});

searchbar.js

'use strict';
app.controller('searchCtrl', function($scope, Eventi) {
    $scope.place = null;

    this.search = function() {

        $scope.eventi = Eventi.search({
            'location' : $scope.place
        });
    }
});

wenn es startet, holt es alle Daten aus der Datenbank und zeigt sie korrekt an, wenn ich versuche, eine Suche durchzuführen, wird die Datei $ scope.eventi aktualisiert (ich kann die neuen Daten in $ scope.eventi aus dem Debug sehen), aber die Ansicht zeigen immer noch die alten Daten und nie aktualisieren.

Ich habe versucht, $ scope. $ Am Ende der Suchfunktion anzuwenden, aber das Ergebnis ist dasselbe.

Haben Sie eine Idee, warum es nicht funktioniert?

Vielen Dank für Ihre Zeit

Antworten auf die Frage(4)

Ihre Antwort auf die Frage