Ich habe die ganze Woche Ende versucht, Daten anzuzeigen, in dem glatten Winkel Karussell (die ich mit $http.get
holen) ng-repeat
verwendet wird, vergebens ...
I‘ Lesen Sie über das bekannte Problem: here und here.
Ich versuchte, die init-onload
und data
Attribute zu verwenden, vergeblich ...
HTML:
<div ng-controller="LandingCtrl as ctrl">
...
<slick init-onload=true data="ctrl.products">
<div ng-repeat="product in ctrl.products"><img src="{{product.image}}" alt="{{product.title}}"></div>
</slick>
...
</div>
JS:
angular.module('myApp')
.controller('LandingCtrl',['$http', function($http){
var store = this;
store.products = [];
$http.get('products.json')
.success(function(data){
store.products = data;
console.log(data); //display the json array
});
}]);
(myApp
Modul in meiner app.js
-Datei definiert ist Ich benutzte yeoman, um mein Projekt zu rüsten)
Es wäre toll, wenn Sie mir helfen könnten.
gut, glaube ich nicht, das wäre ganz richtig funktionieren, da 'init-onload' gemeint ist, zu warten, bis Sie eine Variable für' data' haben, aber Da Sie diese Variable mit einem leeren Array füllen, bevor Sie Ihre $ HTTP-Anfrage machen, wird Slick nicht wissen, dass sie warten soll. funktioniert es, wenn Sie die Zeile 'store.products = [];'? – Claies
oder, verzögern Laden Slick, wie in der Antwort von @ PankajParkar – Claies
Vielen Dank! Es funktioniert genauso gut wie die Methode des Pankaj Parkar. Dank euch beiden habe ich einen wichtigen Punkt verstanden. – user4820423