javascript - 以 Angular/ ionic 方式刷新后退按钮上的页面

标签 javascript angularjs ionic-framework

我正在尝试通过后退按钮刷新页面以获取文章列表的新数据。更具体地说,我有一个文章列表和文章页面,在这两个页面上我都可以选择喜欢一篇文章。当用户喜欢文章页面上的文章时,如果它点击后退按钮,文章列表页面上的喜欢图标将不会刷新为新状态。我试过在点击后退按钮时创建一个功能,然后再次获取数据,但图标没有改变。我在 console.log 上获得的数据是新数据,并且我获得了 like=1 的值,如果用户喜欢该文章,该值是正确的,但图标不喜欢'改变。 这是我的代码:

我在我的首页 Controller 中得到这样的文章:

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>

这是我在文章 Controller 中的功能:

$scope.refresh = function (){
    return $state.go('main.front').then(function(state) {
      ArticleService.all().then(function(data){
        $scope.articles = data;
        console.log(data);
      })
    })
  };

但由于该函数位于文章 Controller 中,因此无法刷新首页上的数据。如何从具有不同 Controller 的页面刷新首页 Controller 中的数据?

最佳答案

$stateProvider.state('myState', {
   cache: false,
   url : '/myUrl',
   templateUrl : 'my-template.html'
})

尝试在您的状态中添加 cache : false 以在进入时重新加载状态 ...

关于javascript - 以 Angular/ ionic 方式刷新后退按钮上的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38305666/

相关文章:

javascript - Angular 检查过滤器返回的内容

javascript - 使用 push() 添加新元素后,VueJS 检测 DOM 何时准备好

javascript - 为什么我的代码中的 HTML5 Canvas 没有清除?

javascript - Firebase 网络客户端和 OIDC 提供商问题

javascript - WCF 问题上的 CORS

android - 移动混合应用程序中 PhoneGap、Cordova、Onsen UI/Ionic 等之间的关系

javascript - 在 Controller 抛出的 index.html 中显示错误消息

javascript - AngularJS 对象在 Controller 方法中丢失值

javascript - 在 JavaScript Promise 中正确使用 then

angularjs - Ionic 选项卡在选项卡之间显示白色背景几分之一秒