J'essaie de comprendre comment passer unit_number
dans le modal lorsqu'il apparaît. Je suis assez nouveau avec Angular et je suis un peu confus avec ce que resolve:
et group:
font et comment je peux inclure le numéro d'unité dans cette déclaration de retour.
$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 () {
});
};
Vous utilisez ui-bootstrap
Composants d'amorçage écrits en pur AngularJS
Pour passer une variable au contrôleur d'un modal, vous devez utiliser
resolve: {
A: function() {
return 'myVal'
}
}
Et puis vous pouvez accéder à cette variable "A" à partir du contrôleur du modal en l'injectant
controller: ['A', function(A) {
// now we can add the value to the scope and use it as we please...
$scope.myVal = A;
}]
Découvrez: https://angular-ui.github.io/bootstrap/#/modal
Résoudre:
Les membres qui seront résolus et transmis au contrôleur en tant que sections locales; c'est l'équivalent de la propriété de résolution du routeur.
Et le groupe n'est qu'un membre (cela peut être tout ce que vous choisissez)
Ajoutez simplement une propriété dans l'objet de résolution unitNumber
avec une fonction renvoyant unit_number
en tirer profit. Pour que vous puissiez obtenir le unit_number
valeur dans AddTenantModalCtrl
en injectant unitNumber
une dépendance dans la fonction d'usine du contrôleur.
resolve: {
group: function () {
return $scope.group;
},
unitNumber: function(){
return unit_number
}
}
Remarque: Ne faites pas directement
unitNumber: unit_number
, car lorsque vous avez cela, angular DI essaiera de rechercher la dépendance avec le nomunit_number
(valeur) et Il essaiera de l'évaluer comme fonction. Résultat, vous obtiendrez$injector
erreur dans la console.