2017-04-22 97 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); 
    }); 
    }) 

这里是这个app.js

.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> 

当我用$scope代替vm其工作完好,但是当我用vm时,它森ds 2 $http请求到服务器。在这里无法理解this概念。

+1

删除'NG-控制器= “TransitCtrl为VM”'和'添加控制器:“TransitCtrl为vm''陈述 –

+0

试过,但现在还没有' $ http'请求。 –

+0

它说502坏门 –

回答

2

尝试从模板中删除ng-controller="TransitCtrl as vm"

和模板改变这一

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