角度模态弹出窗口中的范围问题

时间:2014-08-19 02:59:22

标签: angularjs twitter-bootstrap

我的页面上有一个模态弹出窗口。模态弹出窗口使用bootstrap角度库。

在模态的主体内部,我有一个带有ng-model属性的文本框,按下ok按钮我想使用该文本框值。

<input type="text" data-ng-model="ProjectName" class="form-control"  tab-index="1" required />

但是当我将值记录到控制台时,我没有得到这个值。

$scope.ok = function () {
   console.log($scope.ProjectName);
  };

我已经创建了一个plunkr link来调试它。请指教。

1 个答案:

答案 0 :(得分:3)

你有很多问题。 首先,您没有在模态上定义scope属性。默认情况下,范围设置为$ rootScope的子级。

 var modalInstance = $modal.open({
      templateUrl: 'myModalContent.html',
      controller: ModalInstanceCtrl,
      size: size,
      scope: $scope,
      resolve: {
      }
    });

其次,您应该将ng-model设置为对象的属性,否则angular将自动为子范围创建属性。

<强>控制器

var ModalDemoCtrl = function ($scope, $modal, $log) {
  $scope.model = {};
   ...
}

<强>标记

<div class="modal-body">
    <input type="text" ng-model="model.ProjectName" />
</div>

请参阅此plunkr了解工作样本:http://plnkr.co/tbVHl27D2pXia19kOjob