【问题标题】:how to refresh page to fetch new values from service using angular?如何刷新页面以使用角度从服务中获取新值?
【发布时间】:2016-01-21 07:18:05
【问题描述】:

我有一个包含 1 个表格和 2 个图表的页面,我如何在按下刷新按钮时刷新我的图表和表格,因为我的表格和 2 个不同的图表来自单个页面上的 3 个不同的控制器。我想刷新所有这些,以便他们能够再次从 Web 服务获取新值,并通过单击或单个刷新按钮相应地重新创建页面。

我也尝试了一些想法。

$scope.refreshChart = function(){
    alert("refresh"); 
    // $scope.dashloader = true;
  $state.go('plm.creator');
  // $scope.dashloader = false;
   console.log("On page refresh called; not from dashboard page");


}

但是这些都不符合我的期望,请帮助

【问题讨论】:

    标签: javascript angularjs ionic-framework controllers


    【解决方案1】:

    您可以尝试的一件事是使用 $scope.$broadcast(name, args) 广播所有控制器都可以侦听的事件(事件名称只是您编写的字符串),然后运行它们的代码以刷新.

    控制器用 $scop.$on(event, listener) 监听

    所以一个控制器会这样做:

    $scope.$broadcast('MyRefreshEvent', args);
    

    另一个控制器会这样做:

    $scope.$on('MyRefreshEvent', function (args) {
        //handle refresh
    });
    

    【讨论】:

      【解决方案2】:

      您可以使用以下方法重新加载整个页面:

      $state.transitionTo($state.current, $stateParams, {
                  reload: true,
                  inherit: false,
                  notify: true
              });
      

      但我不建议这样做,我想您可以根据工厂的数量进行一些重构,最终得到一个控制器。

      【讨论】:

        猜你喜欢
        • 2018-01-18
        • 2020-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多