0
我正在通過AngularJs寫博客。我是新來的。 我創建了一個BlogController和BlogData服務。 BlogController使用BlogData。 BlogData使用$ http並從服務器獲取數據。 我的控制器是這樣的;Angularjs獲取指令中的數據
barbarapp.controller('BlogController', function ($scope, blogData) {
$scope.blogPosts = blogData.getBlogPosts(0);
});
blogData這樣的數據服務;
barbarapp.factory('blogData', function ($http, $q) {
return {
getBlogPosts: function (pageNumber) {
debugger;
var deferred = $q.defer();
$http({
url: 'Blog/GetBlogPosts',
method: 'POST',
data: { 'pageNumber': pageNumber }
}).success(function (response) {
deferred.resolve(response.posts);
});
return deferred.promise;
}
};
});
它工作正常。而且我爲pageniation創建了一個指令(指令使用jquery分頁庫)。分頁指令是這樣的;
barbarapp.directive('createPagination', function (blogData, $q) {
return function (scope, element) {
$(element).pagination({
items: scope.postCount,
itemsOnPage: scope.itemsOnPage,
cssStyle: "light-theme",
onPageClick: function() {
var posts = blogData.getBlogPosts(this.currentPage);
scope.blogPosts = posts;
}
});
};
});
指令工作正常,但在onPageClick上的帖子是未定義的。爲什麼它不工作?
問題可能是'this.currentPage'。我不知道它在哪裏 –
@baris'onPageClick'的代碼在哪裏? – zsong
由於ganaraj和Khanh TO指出答案的前提實際上是錯誤的,以避免任何混淆,所以我刪除了有關承諾的答覆。 –