2017-04-22 12 views
1

を作ることは私のコントローラのコードです:

.controller('TransitCtrl', function ($ionicPlatform, $scope, $state, $q, $ionicSideMenuDelegate, $timeout, $http, design, config) { 
    $ionicSideMenuDelegate.canDragContent(false); 
    var vm = this; 
    vm.userImg = design.user_img; 

    vm.isGetStarted = false; 
    vm.getPV = true; 
    vm.getPL = false; 
    vm.showWelcome = false; 
    var counter = 1; 
    $ionicPlatform.ready(function(){ 
     $timeout(function(){ 
      var userDataStageFirst = { 
       url: config.baseURL + 'userDataStageFirst', 
       dataServer: { 
       serverTaskRequest: counter 
       } 
      } 
      var url = userDataStageFirst.url; 
      var dataServer = userDataStageFirst.dataServer; 
      $http.post(url, dataServer).success(function (data, status, headers, config) { 
       alert(data) 
       }) 
       .error(function() { 
       alert("error"); 
       }); 
     }, 1000); 
    }); 
    }) 

そして、ここでは、これが

.state('app.transit', { 
     url: '/transit', 
     views: { 
     'menuContent': { 
      templateUrl: 'templates/transit.html', 
      controller: 'TransitCtrl' 
     } 
     } 
    }) 

と私のhtmlページ

<ion-view hide-nav-bar="true" ng-controller="TransitCtrl as vm"> 
    <ion-content> 
     hello world 
    </ion-content> 
</ion-view> 
をapp.jsです

私はの代わりに$scopeを使用していますが、それは正常に動作しますが、vmを使用すると、 ds 2 $http要求をサーバーに送信します。理解できないのはthisのコンセプトです。

+1

に変更するには、テンプレートから '' NG-コントローラ=「VMとしてTransitCtrl」を削除しないと 'コントローラを追加します「状態 –

+0

にvm''としてTransitCtrlはこれをしようとしましたが、今何が'あり$ http'の要求はまったくありません。 –

+0

それは502 Bad Gatewayと言う –

答えて

2

テンプレートからng-controller="TransitCtrl as vm"を削除してみてください。

この

state('app.transit', { 
    url: '/transit', 
    views: { 
    'menuContent': { 
     templateUrl: 'templates/transit.html', 
     controller: 'TransitCtrl as vm' 
    } 
    } 
}) 
関連する問題