如何在离子状态下将一种状态移动到另一种状态时去除滑动效果?

时间:2015-04-23 06:14:48

标签: angularjs angularjs-directive angularjs-scope ionic-framework ionic

我试图在按钮点击>上将一个视图移动到另一个视图我可以将一个视图移动到第二个视图。但是移动它时从右向左开始滑动。我需要停止滑动。意思是我需要学习各种类型的方法,使用动画将一个视图移动到另一个视图(从左到右或从上到下或没有动画或从下到上)。

在这里查看我的代码
http://goo.gl/Q2k6mf

点击预览按钮。然后输入" ABW" 并选择" ABW"行 .it从服务器下载数据,然后移动到第二个视图,滑动为什么?我需要停止滑动。

其次 我正在第一个控制器中下载数据。有没有更好的方法来访问服务器或调用webservice,然后再转到第二个视图?

   $scope.rowclick=function(station){
     $scope.SEARCH.stationCode=station.stationCode;
     $scope.SEARCH.selected = true;


            $ionicLoading.show();
            $http.get("http://caht.firstrail.com/FGRailApps/jservices/rest/a/departure?crsCode="+ $scope.SEARCH.stationCode).then(function(data){
                $ionicLoading.hide();
                 $state.go('departuredashboard')
                console.log(data);
            },function(error){
                $ionicLoading.hide();
                alert("error"+error);
            })
   } 

实际上我需要第二个视图的数据? 这是代码 https://dl.dropbox.com/s/l2dtrxmnsurccxt/www.zip?dl=0

2 个答案:

答案 0 :(得分:1)

我不知道你为什么要删除这个动画,它太棒了,但是你走了。

app.config(function($stateProvider, $urlRouterProvider,$ionicConfigProvider){
     $ionicConfigProvider.views.transition('none')
          // rest of the config    
})

编辑:对于你的第二个问题:这里是关于如何使用ui-router解析的代码片段



.state('stateName',{ 
 url:'/SomeUrl',        
resolve: {
       resolvedData: function ($http) {
         var result = $http.get(yourUrlHere).success(function (data) {
                         return data;
                      }).error(function (err) {
                         return err;
                      });
                         return result;
                }
         }
  })




在你的控制器中,注入" resolvedData"

答案 1 :(得分:0)

  1. 要停用导航转换,请使用$ionicConfigProvider

    配置框中

    $ ionicConfigProvider.views.transition('none')

  2. 在控制器用户resolve之前加载数据:

  3. app.config(function($stateProvider, $urlRouterProvider,$ionicConfigProvider) {
      $stateProvider
        .state('index', {
          url: '/',
          templateUrl: 'template1.html'
        })
        .state('state2', {
          url: '/state2',
          templateUrl: 'template2.html',
          controller: 'ACtrl',
          resolve:{ myData : ['$http',function($http) {
              var ULR ="your URL";
              return $http.get(URL);
            }]}
        })
        
        });

    现在您可以像在任何其他服务中一样在第二个控制器中插入myData