Tôi đã cố gắng tất cả cuối tuần để hiển thị dữ liệu (mà tôi lấy với $http.get
) trong băng chuyền góc trơn sử dụng ng-repeat
, trong vô vọng ...
tôi đã đọc về vấn đề nổi tiếng: here và here.
tôi cố gắng sử dụng init-onload
và data
thuộc tính, vô ích ...
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
mô-đun được định nghĩa trong tập tin app.js
của tôi , Tôi đã sử dụng yeoman để dàn dựng dự án của mình)
Sẽ rất tuyệt nếu bạn có thể giúp tôi.
tốt, tôi không nghĩ rằng sẽ làm việc hoàn toàn đúng, vì 'init-onload' có nghĩa là để chờ đợi cho đến khi bạn có một biến cho 'dữ liệu', nhưng vì bạn điền trước biến đó với một mảng trống trước khi thực hiện yêu cầu '$ http' của bạn, slick sẽ không biết nó phải đợi. nó có hoạt động không nếu bạn xóa dòng 'store.products = [];'? – Claies
hoặc, trì hoãn tải slick, như trong câu trả lời từ @PankajParkar – Claies
Cảm ơn rất nhiều! Nó hoạt động cũng như phương pháp của Pankaj Parkar. Nhờ cả hai bạn, tôi đã hiểu một điểm quan trọng. – user4820423