Для 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');
});
};
}])
Обновите модуль 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