這是配置文件config.js
:AngularJS視圖不能更新
.state ('home', {
url: '/home',
templateUrl: 'views/common.html'
})
.state ('home.mypage', {
url: '/mypage',
templateUrl: 'views/mypage.html'
})
這裏是common.html
:
<header id="header" data-ng-include src="'views/template/header.html'"></header>
<section id="main">
<aside id="leftside" data-ng-include src="'views/template/leftside.html'"></aside>
<aside id="rightside" data-ng-include src="'views/template/rightside.html'" data-ng-controller="mypageCtrl"></aside>
<section id="content" class="page-view" data-ui-view></section>
</section>
<footer id="footer" data-ng-include src="'views/template/footer.html'"></footer>
rightside.html包含輸入和API調用搜索按鈕, mypage.html包含那樣的東西<div class="container ng-scope" data-ng-controller="mypageCtrl">
。
當阿賈克斯成功:
function (data) {
$scope.results = data.results;
$scope.pagination = data._meta.pagination;
}
當我要求我的空間和第一次出現的結果是尋呼機點擊即使確定。但是當我單擊rightside.html中的搜索按鈕時,即使ajax響應也會導致view(mypage.html)不會更新。
我錯了什麼?如何在模型發生變化時更新視圖?
編輯: 這是mypageController.js
materialAdmin
.controller('mypageCtrl', function($location, $scope, mypageService) {
$scope.search = function(conditions) {
return (mypageService.search(conditions).then(
function (data) {
$scope.results = data.results;
$scope.pagination = data._meta.pagination;
},
function (error) {
console.log(error);
}
));
};
$scope.search($scope.conditions); // Initial search when request page
})
和mypageService.js
materialAdmin.service("mypageService", ['$http', '$q', function($http, $q) {
return {
search: search
// and more functions
};
function search(conditions) {
return ($http.post(
BASE_URL + "/search", conditions).then(
handleSuccess,
function (response) {
handleError(response, $q)
}
));
}
}]);
你在用什麼'$ http'或'$ .ajax'? – Satpal
我使用'$ http'。 –