我认为您
ng-model="textbox.sample"对父级和
ng-model="ngModel"模态中的印象是相同的,因为您将传递
textbox.sample给模态,并且能够在模态窗口中看到正确的值。起作用的唯一原因是因为
$scope.ngModel每次打开模态窗口时都要显式设置属性。
使这项工作达到预期效果的一种方法是仅
$scope.textbox.sample在两个地方都使用该属性,但我不建议这样做。
也许正确的方法是使用
modalInstance.result诺言,如下所示:
在模态上创建一个按钮并使其
ng-click="ok()"
$scope.ok = function () { $modalInstance.close($scope.ngModal); // will return this to the modalInstance.result}然后在父控制器中,或通过任何方式打开模式窗口:
$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 }); modalInstance.result.then(function (result) { $scope.textbox.sample = result; });};


