La encuadernación de 2 vías modal de IU angular no funciona
Estoy agregando un modo de interfaz de usuario angular donde paso el alcance a la ventana modal para un enlace bidireccional. Usé elresolve
Método para pasar el valor del alcance. Hacerlo funciona más o menos cuando el valor del modelo ng cambia en padre, se refleja dentro de la ventana modal. Sin embargo, si el valor cambia dentro de la ventana modal, no se refleja en el modelo ng padre. Aquí está mi código:
HTML:
<div ng-app="app">
<div ng-controller="ParentController">
<br />
<input type="text" ng-model="textbox.sample" />
<a class="btn btn-default" ng-click="open(textbox.sample)">Click Me</a>
<script type="text/ng-template" id="ModalContent.html">
<input type = "text" ng-model= "ngModel" / >
</script>
<br />{{ textbox }}
</div>
</div>
Controlador:
var app = angular.module('app', ['ui.bootstrap']);
app.controller('ParentController', function ($scope, $modal) {
$scope.textbox = {};
// MODAL WINDOW
$scope.open = function (_ngModel) { // The ngModel is passed from open() function in template
var modalInstance = $modal.open({
templateUrl: 'ModalContent.html',
controller: ModalInstanceCtrl,
resolve: {
ngModel: function () {
return _ngModel;
}
} // end resolve
});
};
});
var ModalInstanceCtrl = function ($scope, $modalInstance, ngModel) {
$scope.ngModel = ngModel;
};
¿Por qué el enlace bidireccional entre la instancia principal y la instancia modal no funciona en el código anterior?