我无法从我的ModalInstance控制器访问我的select标签中使用的变量

时间:2014-06-09 20:05:05

标签: angular-ui-bootstrap

我已经从Modal示例页面中获取了代码,而不是LI,我决定使用select元素。我的select元素有ng-model =" selectedColor"在其中,我可以在我创建的部分中使用{{selectedColor}},但是,我不能使用" $ scope.selectedColor"来自"模型实例控制器"或任何控制者。我认为这是因为有一些东西与$ scope关闭但我似乎无法弄明白。任何帮助表示赞赏。

http://plnkr.co/edit/MsNBglLJN0hWxvGZ1pj1?p=preview

1 个答案:

答案 0 :(得分:0)

代码中的问题是$ scope.selectedColor和模态标记中的selectedColor是两个不同的引用。有关详细信息,请阅读Understanding Scopes,您可能会从中受益,因为这是一项常见任务。

您应该在控制器中创建一个对象,然后将结果存储在控制器中,而不是编写$scope.selectedColor

var ModalInstanceCtrl = function ($scope, $modalInstance, colors) {
  $scope.colors = colors;
  $scope.o = {}
  $scope.ok = function () {
    console.log($scope.o.selectedColor, "$scope.o.selectedColor");
    $modalInstance.close($scope.o.selectedColor);
  };

  $scope.cancel = function () {
    $modalInstance.dismiss('cancel');
  };
};

并在标记中,请参阅o.selectedColor

以下是您的Plunker的working version