当前位置:  开发笔记 > 前端 > 正文

刷新解析数据 - Ui路由器

如何解决《刷新解析数据-Ui路由器》经验,为你挑选了1个好方法。

在离子中,我在resolve初始化控制器之前使用Ui-Router的功能解析我的数据.截至目前,我没有给$injectEventService到控制器.所述EventServicegetEvents()控制器被初始化之前方法解决的数据.一切都以这种方式正常工作,但现在我正在尝试实施Ion Refresher.我可以很容易地刷新我的$scope.events阵列控制器内,腹胀控制器本身,因为我会$injectEventService到控制器,这也意味着,每一个使用相同的数据控制器必须包含的逻辑来处理刷新.刷新控制器外部数据的最佳方法是什么?这是最好的方法吗?

事件状态定义和数据解析

.state('tab.events', {
    url: '/events',
    views: {
    'tab-event': {
        templateUrl: 'views/events.html',
        controller: 'EventsController',
        resolve: {
            events: function (EventService) {
                return EventService.getEvents(); //resolves data before ctrl initialized
            }
        }
    }
   }
})

事件控制器

(function() {
  'use strict'

    angular
        .module('app.events')
        .controller('EventsController', EventsController);

        EventsController.$inject = ['$scope','events'];

        function EventsController ($scope,events) {

            $scope.events = events;

        }

}
)();

膨胀事件控制器 - 示例

(function() {
  'use strict'

    angular
        .module('app.events')
        .controller('EventsController', EventsController);

        EventsController.$inject = ['$scope','events','EventsService'];

        function EventsController ($scope,events,EventsService) {

            $scope.events = events;

            $scope.refresh = refresh;

            function refresh () {
                clearCache(); //pretend method
                EventsService.getEvents()
                    .then(function (events) {
                        $scope.events = events;
                        $scope.$broadcast('scroll.refreshComplete');
                    })
            }
        }

}
)();

我可以用另一种方式刷新这些数据,而不是膨胀控制器吗?



1> Chris T..:

调用$state.reload()哪个是别名:

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

这将导致所有状态被"重新输入",从而获取结果并重新初始化控制器.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有