[英]Refreshing page on a back button in angular/ionic
我正在嘗試刷新后退按鈕上的頁面以獲取文章列表的新數據。 更具體地說,我有一篇文章列表和文章頁面,我可以選擇喜歡一篇文章。 當用戶喜歡文章頁面上的文章時,如果它點擊后退按鈕,則文章列表頁面上的類似圖標將不會使用新狀態刷新。 我嘗試過單擊后退按鈕,然后再次獲取數據,但圖標不會改變。 我在console.log
上獲得的數據是新數據,我獲得了like=1
的值,如果用戶喜歡該文章,則該值是正確的,但圖標不會更改。 這是我的代碼:
我在我的首頁控制器中收到了這樣的文章:
ArticleService.all().then(function(data){
$scope.articles = data;
})
在我的文章頁面html中,我有一個后退按鈕鏈接:
<a ng-click="refresh()"></a>
在我的文章列表中,我檢查了我喜歡的值,然后根據它顯示圖標:
<a ng-if="article.like == 1" ng-click="like(article)" class="subdued">
<img class="social-images" src="icons/heart.svg"/> Lik
</a>
<a ng-if="article.like == 0" ng-click="like(article)" class="subdued">
<img class="social-images" src="icons/heart-outline.svg"/> Lik
</a>
這是我在文章控制器中的功能:
$scope.refresh = function (){
return $state.go('main.front').then(function(state) {
ArticleService.all().then(function(data){
$scope.articles = data;
console.log(data);
})
})
};
但由於該功能在文章控制器中,因此無法刷新首頁上的數據。 如何從具有不同控制器的頁面刷新首頁控制器中的數據?
$stateProvider.state('myState', {
cache: false,
url : '/myUrl',
templateUrl : 'my-template.html'
})
嘗試在你的狀態中添加cache : false
以在輸入時重新加載狀態...
嘗試以下方法之一:
1。
$scope.$on('$ionicView.beforeEnter', function () {
$scope.refresh();
});
$scope.refresh = function (){
return $state.go('main.front').then(function(state) {
ArticleService.all().then(function(data){
$scope.articles = data;
console.log(data);
})
})
};
2。
$scope.$on('$tateChangeSuccess', function () {
$scope.refresh();
});
<ion-view cache-view="false" view-title="My Title!"> </ion-view>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.