Получение идентификатора и последующее размещение значений

0

Для AddVisitController я создал модель посещения, которая принимает свойства, такие как заголовок, дата начала, дата окончания и описание. он затем перенаправит меня на страницу, где я могу нажать на кнопку, чтобы добавить в поездки. Все свойства сохраняются в одной модели. Чтобы добавить поездки в модель посещения, я хочу взять идентификатор посещения, прежде чем я смогу повысить стоимость поездок. Как получить идентификатор посещения?

  .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');
          });
    };
}])
Теги:
strongloop

1 ответ

0

Обновите модуль Visit, чтобы вернуть данные ответа, и включите идентификатор Visit в ответ.

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

Убедитесь, что вы определяете параметры в своих определениях состояний.

$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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню