2016-04-22 3 views
0

AddVisitControllerの場合、タイトル、開始日、終了日、説明などのプロパティを取り込む訪問モデルを作成しました。それから私は旅行に追加するボタンをクリックすることができるページに私をリダイレクトします。すべてのプロパティは1つのモデルに格納されます。訪問モデルに旅行を追加するには、私は旅行の価値をアップアップする前に訪問のIDを取得したいと思います。訪問IDを取得するにはどうすればよいですか?idを取得して値を入れる

.controller('AddVisitController', ['$scope', '$state', 'Visit', function ($scope, $state, Visit) { 
     $scope.visits = []; 

     $scope.submitForm = function() { 
      Visit 
       .upsert({ 
        vTitle: $scope.visit.vTitle, 
        startDate: $scope.visit.startDate, 
        endDate: $scope.visit.endDate, 
        dDescription: $scope.visit.vDescription 
       }) 
       .$promise 
       .then(function() { 
        $state.go('create-trip'); 
       }); 
     }; 
    }]) 

.controller('AddTripController', ['$scope', '$q', 'Visit', '$stateParams', '$state', function ($scope, $q, Visit, $stateParams, $state) { 
    $scope.visits = []; 

     $q 
     .all([ 
      Visit.find().$promise, 
      Visit.findById({ id: $stateParams.id }).$promise 
     ]) 
    $scope.submitForm = function() { 
     Visit 
      .upsert({ 
       day: $scope.visit.day, 
       date: $scope.visit.date, 
       tTitle: $scope.visit.tTitle, 
       startTime: $scope.visit.startTime, 
       endTime: $scope.visit.endTime, 
       tDescription: $scope.visit.tDescription 
      }) 
      .$save() 
      .then(function (visit) { 
       $state.go('main-feed'); 
      }); 
    }; 
}]) 

答えて

0

旅行コントローラを追加し、応答データを返すために、あなたの訪問のモジュールを更新し、それに応答してログインIDを含んでいます。

.then(function (visit) { 
    $state.go('create-trip', {visit: visit._id}); 
}); 

州の定義にparamsを定義してください。

$stateProvider.state('create-trip', { 
    params: [ 
    'visit' 
    ], 
    templateUrl: 'templates/create-trip.html', 
    controller: 'addTripController' 
}); 

を見てみましょう: https://github.com/angular-ui/ui-router/wiki/URL-Routing#using-parameters-without-specifying-them-in-state-urls

関連する問題