После того, как я отправлю свои данные из формы и нажмите кнопку "Отправить", я хочу, чтобы модала закрылась. Что я должен разместить в $ dtate.go, чтобы получить результат, который я хочу?
.controller('DietController', ['$scope', 'Diet', '$state', function($scope, Diet, $state) {
$scope.diets = [];
$scope.submitForm = function() {
Diet
.upsert({
date: $scope.diet.date,
food: $scope.diet.food
})
.$promise
.then(function() {
$state.go('diet');
});
};
}])
<div class="modal fade" id="myModalNorm" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<!-- Modal Body -->
<div class="modal-body">
<form role="form">
<div class="form-group">
<label>Date</label>
<input class="form-control" type="date" ng-model="diet.date">
</div>
<div class="form-group">
<label>Food Description</label>
<textarea type="text" class="form-control" ng-model="diet.food" placeholder="Enter food"></textarea>
</div>
<!-- Modal Footer -->
<div>
<button type="button" class="btn btn-primary" ng-click="submitForm()">
Submit
</button>
</div>
</form>
</div>
</div>
Попробуй это:
.then(function() {
$('#myModalNorm').modal('hide');
});
Если вы используете $uibModalInstance
bootstrap, $uibModalInstance
и вызовите метод close
на нем:
controller('DietController', ['$scope', 'Diet', '$state', '$uibModalInstance', function($scope, Diet, $state, $uibModalInstance) {
$scope.diets = [];
$scope.submitForm = function() {
Diet
.upsert({
date: $scope.diet.date,
food: $scope.diet.food
})
.$promise
.then(function() {
$uibModalInstance.close();
});
};
}])