Angularjs 在子对象中调用父对象的控制器方法

Angularjs 在子对象中调用父对象的控制器方法,angularjs,Angularjs,我想从继承的控制器中获取$scope变量值。它适用于非范围变量,但范围变量打印未定义 appControllers.controller('parentCtrl', ['$scope', '$rootScope', '$http', '$location', '$log', function ($scope, $rootScope, $http, $location, $log) { $scope.someVariable = "Scope hello world.";

我想从继承的控制器中获取$scope变量值。它适用于非范围变量,但范围变量打印未定义

appControllers.controller('parentCtrl', ['$scope', '$rootScope', '$http', '$location', '$log',
    function ($scope, $rootScope, $http, $location, $log) {

        $scope.someVariable = "Scope hello world.";

        $scope.getLocalVariable = function (){
            return "hello world";
        }

        $scope.getScopeVariable = function (){
            return $scope.someVariable;
        }

    }]);


appControllers.controller('childCtrl', ['$scope', '$rootScope', '$http', '$location', '$log',
    function ($scope, $rootScope, $http, $location, $log) {

        $log.debug($scope.getLocalVariable());  // this WORKS

        $log.debug($scope.getScopeVariable());  // this DOES NOT WORKS - prints undefined

    }]);
.html文件的一部分

<div ng-controller="parentCtrl">
<div ng-controller="childCtrl">
</div>
</div>

但这没有帮助。谢谢

您应该在$scope中定义父控制器中的所有函数。那你就没有问题了$scope.getScopeVariable=function…抱歉,我从代码中间接复制了它。当然,我使用$scope.getScopeVariable=函数。我已经编辑了问题代码。所以,你的建议无效。我使用的是Angular 1.2。28@jiri463尝试angular 1.3的最新稳定版本。在1.2.28中,您的代码也可以让meSeems正常工作-您可以创建一个plunker并复制吗?下面是一个代码正常工作的示例:
var app = angular.module('angularjs-starter', []);

app.controller('ParentCtrl ', function($scope) {
  // I'm the sibling, but want to act as parent
});

app.controller('ChildCtrl', function($scope, $controller) {
  var ctrl = $controller('ParentCtrl', {$scope: $scope}); 
  ctrl.methodCall() // DOES NOT WORK

});