Tôi đã xây dựng một chỉ thị cho phân trang có hai đối số; trang hiện tại và tổng số trang.Chỉ thị tải sau khi gọi AJAX
<pagination page="page" number-of-pages="numberOfPages"></pagination>
Vấn đề là tôi sẽ chỉ biết giá trị của numberOfPages sau khi một cuộc gọi AJAX (qua ng tài nguyên). Nhưng chỉ thị của tôi đã được trả trước khi cuộc gọi AJAX được thực hiện.
app.controller('MyController', function ($scope, $routeParams) {
$scope.page = +$routeParams.page || 1,
$scope.numberOfPages = 23; // This will work just fine
MyResource.query({
"page": $scope.page,
"per_page": 100
}, function (response) {
//This won't work since the directive is already rendered
$scope.numberOfPages = response.meta.number_of_pages;
});
});
Tôi thích chờ kết xuất mẫu bộ điều khiển cho đến khi cuộc gọi AJAX kết thúc.
Gói B sẽ thêm mẫu với mẫu chỉ thị khi thực hiện cuộc gọi AJAX.
Tôi gặp khó khăn khi làm việc cả hai trường hợp.
Cảm ơn. Tôi không biết về liên kết (thay vì điều khiển). Tôi nghĩ rằng có thể ẩn chỉ thị bằng ng-hide và hiển thị nó khi giá trị thay đổi. Nhưng không phải là nó có thể chỉ ngăn chặn rendering cho đến khi tất cả được thực hiện? –
Ngoài ra; Tôi đã nhận được chức năng đồng hồ. Nhưng làm thế nào tôi có thể tái xuất hiện chỉ thị khi phát hiện thay đổi mới? –
Việc hiển thị sẽ xảy ra khi dữ liệu đã sẵn sàng không trước – Dalorzo