Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs子控制器获取父控制器范围变量无效?_Angularjs - Fatal编程技术网

Angularjs子控制器获取父控制器范围变量无效?

Angularjs子控制器获取父控制器范围变量无效?,angularjs,Angularjs,我是Angularjs的新手,这是我的代码 angular.module('remoteApp') .controller('ScreensavertabCtrl', function ($scope, $modal, $log, $state,Screensaverchpwservice, Screensaverchpwgetservice) { $scope.screensaverData = { screensaver:{

我是Angularjs的新手,这是我的代码

angular.module('remoteApp')
  .controller('ScreensavertabCtrl', function ($scope, $modal, $log, $state,Screensaverchpwservice,  
    Screensaverchpwgetservice) { 
      $scope.screensaverData = {
         screensaver:{
           pwProtect: '1'
         }
       };

  $scope.pwProtectOpen = function () {
    if($scope.screensaverData.screensaver.pwProtect == true){
      var modalInstance = $modal.open({
        templateUrl: 'pwProtectModalContent.html',
        controller: pwProtectModalInstanceCtrl
    });
  }     
};

var pwProtectModalInstanceCtrl = function ($scope, $modalInstance) {
  $scope.pwProtectCancel = function () {
    $modalInstance.dismiss('cancel');
    console.log($scope.screensaverData.screensaver.pwProtect)
  };

};});
当我启用pwProtectCancel功能时,我想获得$scope.screensaverData.screensaver.pwProtect

值,我尝试使用“$scope.$parent.screensaverData.screensaver.pwProtect”无效

我对此很困惑


有什么想法吗?

将$modal服务呼叫更改为

var modalInstance = $modal.open({
        templateUrl: 'pwProtectModalContent.html',
        controller: pwProtectModalInstanceCtrl
        scope:$scope
}
你应该得到模态范围内的数据

文档中提到了范围选项

scope—用于模态内容的范围实例 $modal服务将创建所提供的 范围默认为$rootScope


它得到的默认值是rootscope。

将$modal服务调用更改为

var modalInstance = $modal.open({
        templateUrl: 'pwProtectModalContent.html',
        controller: pwProtectModalInstanceCtrl
        scope:$scope
}
你应该得到模态范围内的数据

文档中提到了范围选项

scope—用于模态内容的范围实例 $modal服务将创建所提供的 范围默认为$rootScope


默认设置为rootscope。

假设在HTML中正确嵌套了控制器,则代码应按原样工作。假设在HTML中正确嵌套了控制器,则代码应按原样工作。