Передача данных через открытую модальную функцию Угловая uibModal
Я пытаюсь понять, как передать unit_number
в модальный, когда он появится. Я довольно новый с Angular, и я немного смущен тем, что resolve:
и group:
делают и как я могу включить unit_number в этот оператор return.
$scope.openTenantModal = function (unit_number) {
var modalInstance = $uibModal.open({
animation: true,
templateUrl: 'views/addtenantmodal.html',
controller: 'AddTenantModalCtrl',
size: 'large',
resolve: {
group: function () {
return $scope.group;
}
}
});
modalInstance.result.then(function () {
}, function () {
});
};
Ответы
Ответ 1
Вы используете ui-bootstrap
Компоненты начальной загрузки написаны на чистом AngularJS
Чтобы передать переменную в модальный контроллер, вам нужно использовать
resolve: {
A: function() {
return 'myVal'
}
}
И тогда вы можете получить доступ к этой переменной "A" из модального контроллера, введя его
controller: ['A', function(A) {
// now we can add the value to the scope and use it as we please...
$scope.myVal = A;
}]
Проверьте: https://angular-ui.github.io/bootstrap/#/modal
Разрешить:
Участники, которые будут разрешены и переданы контроллеру как локальные жители; это эквивалентно свойству разрешения в маршрутизаторе.
И группа просто член (это может быть все, что вы выберете)
Ответ 2
Просто добавьте свойство в object объекта unitNumber
разрешения с функцией, возвращающей значение unit_number
из него. Чтобы вы могли получить значение unit_number
внутри AddTenantModalCtrl
, введя зависимость unitNumber
в заводской функции контроллера.
resolve: {
group: function () {
return $scope.group;
},
unitNumber: function(){
return unit_number
}
}
Примечание. Не используйте непосредственно unitNumber: unit_number
, потому что, когда у вас это есть, угловая система DI попытается найти зависимость с именем unit_number
(значение) и попытается оценить ее как функцию. В результате вы получите сообщение об ошибке $injector
в консоли.