Ich verwende angular bootstrap typeahead
. Ich möchte eine Funktionalität für infinite scroll
darin hinzufügen, dass ich eine kleine Direktive für Scroll-Funktionalität und einige Änderungen in typeahead
Vorlage hinzugefügt haben, funktioniert Scroll-Direktive wie erwartet, aber Typahead nicht aktualisieren eine Ansicht nach dem Ergebnis ist Update.Hinzufügen neuer Daten zu typeahead Ergebnis auf Bildlauf
Meine Eingabe ist wie:
<input type="text" ng-model="variable" placeholder="Search..." typeahead="obj as obj.text for obj in getObject($viewValue)" typeahead-wait-ms="500" />
typeahead Vorlage:
<ul class="dropdown-menu typeahead-custom" ng-scroll="getObject('{{query}}')" ng-scroll-direction="down" ng-show="isOpen()" ng-style="{top: position.top+'px', left: position.left+'px'}" style="display: block;" role="listbox" aria-hidden="{{!isOpen()}}">
<li ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index)" role="option" id="{{match.id}}" should-focus="isActive($index)">
<div typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>
</li>
</ul>
und getObject Funktion:
$rootScope.lastResult = [];
$rootScope.getObject = function(str) {
return $http({
url: "someUrl",
method: "post",
headers: {'Content-Type': 'application/json'},
data: {str: str, page_limit: 10}
}).then(function(response) {
$.merge($rootScope.lastResult, response.data.data);
return $rootScope.lastResult;
});
};
, wenn ich etwas in typeahead input type es funktioniert fein , aber wenn ich in die typeahead Vorlage scrolle, ruft sie eine Funktion auf und aktualisiert Variable, aber aktualisiert ein DOM-Element von typeahead nicht.
Irgendwelche Hilfe? Bitte ....
haben Sie '$ scope.apply()' nach dem Ergebnisupdate ausprobiert? – Anita
[besuchen Sie diesen Link https://github.com/angular-ui/bootstrap/blob/master/src/typeahead/typeahead.js Sie könnten diese Datei bearbeiten möchten – samir