Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以角度/离子模式刷新后退按钮上的页面_Javascript_Angularjs_Ionic Framework - Fatal编程技术网

Javascript 以角度/离子模式刷新后退按钮上的页面

Javascript 以角度/离子模式刷新后退按钮上的页面,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我正在尝试刷新“后退”按钮上的页面,以获取文章列表的新数据。更具体地说,我有一个文章列表和文章页面,在这两个页面上我都可以选择喜欢一篇文章。当用户喜欢文章页面上的文章时,如果点击后退按钮,文章列表页面上的like图标将不会以新状态刷新。我尝试过在点击后退按钮时创建一个函数,然后再次获取数据,但图标没有改变。我在console.log上得到的数据是新数据,我得到like=1的值,如果用户喜欢这篇文章,这是正确的,但图标没有改变。 这是我的代码: 我在头版控制器中看到的文章如下: ArticleSe

我正在尝试刷新“后退”按钮上的页面,以获取文章列表的新数据。更具体地说,我有一个文章列表和文章页面,在这两个页面上我都可以选择喜欢一篇文章。当用户喜欢文章页面上的文章时,如果点击后退按钮,文章列表页面上的like图标将不会以新状态刷新。我尝试过在点击后退按钮时创建一个函数,然后再次获取数据,但图标没有改变。我在
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'
    })