Javascript 以角度/离子模式刷新后退按钮上的页面
我正在尝试刷新“后退”按钮上的页面,以获取文章列表的新数据。更具体地说,我有一个文章列表和文章页面,在这两个页面上我都可以选择喜欢一篇文章。当用户喜欢文章页面上的文章时,如果点击后退按钮,文章列表页面上的like图标将不会以新状态刷新。我尝试过在点击后退按钮时创建一个函数,然后再次获取数据,但图标没有改变。我在Javascript 以角度/离子模式刷新后退按钮上的页面,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我正在尝试刷新“后退”按钮上的页面,以获取文章列表的新数据。更具体地说,我有一个文章列表和文章页面,在这两个页面上我都可以选择喜欢一篇文章。当用户喜欢文章页面上的文章时,如果点击后退按钮,文章列表页面上的like图标将不会以新状态刷新。我尝试过在点击后退按钮时创建一个函数,然后再次获取数据,但图标没有改变。我在console.log上得到的数据是新数据,我得到like=1的值,如果用户喜欢这篇文章,这是正确的,但图标没有改变。 这是我的代码: 我在头版控制器中看到的文章如下: ArticleSe
console.log
上得到的数据是新数据,我得到like=1
的值,如果用户喜欢这篇文章,这是正确的,但图标没有改变。
这是我的代码:
我在头版控制器中看到的文章如下:
ArticleService.all().then(function(data){
$scope.articles = data;
})
$scope.refresh = function (){
return $state.go('main.front').then(function(state) {
ArticleService.all().then(function(data){
$scope.articles = data;
console.log(data);
})
})
};
在我的文章页面html中,我有一个后退按钮链接:
<a ng-click="refresh()"></a>
但由于该函数位于article controller中,因此无法刷新首页上的数据。如何从具有不同控制器的页面刷新首页控制器中的数据?请尝试以下方法之一:
一,
二,
尝试在您的状态中添加
cache:false
以在输入时重新加载状态…请提供一个codepen示例。这是ionic缓存问题。@不,我只是不知道如何从另一个控制器调用函数,我是angular的新手,因此不确定如何做您可以通过$broadcast或$emit调用其他控制器函数。您还可以在控制器上添加$STAECHANGSCACCESS这样的侦听器,以便在状态更改时调用方法。您可以给我一个示例,并提供一些代码吗?如果没有问题,谢谢!如何在ionic4和angular7中执行此操作?
$scope.refresh = function (){
return $state.go('main.front').then(function(state) {
ArticleService.all().then(function(data){
$scope.articles = data;
console.log(data);
})
})
};
$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);
})
})
};
$scope.$on('$tateChangeSuccess', function () {
$scope.refresh();
});
<ion-view cache-view="false" view-title="My Title!">
</ion-view>
$stateProvider.state('myState', {
cache: false,
url : '/myUrl',
templateUrl : 'my-template.html'
})