Angularjs 在angular中访问多个父层次结构

Angularjs 在angular中访问多个父层次结构,angularjs,Angularjs,我有一行代码,从当前作用域的父级访问一些值。当前作用域有多个父级,下面给出了代码- var hash = $scope.$parent.$parent.$parent.outline_field_usage; 有没有什么方法可以使这种代码无效,这样我就可以避免在不使用的情况下访问outline\u field\u usage元素。操作人员此代码在a侧指令中编写,如下所示: return { restrict: 'E', templateUrl: 'column.html',

我有一行代码,从当前作用域的父级访问一些值。当前作用域有多个父级,下面给出了代码-

var hash = $scope.$parent.$parent.$parent.outline_field_usage;
有没有什么方法可以使这种代码无效,这样我就可以避免在不使用的情况下访问
outline\u field\u usage
元素。操作人员此代码在a侧指令中编写,如下所示:

return {
    restrict: 'E',
    templateUrl: 'column.html',
    link: linker,
    replace: true,
    controller: ['$scope', function ($scope) {
        console.log("remove Item --------");
        console.log($scope.$parent.$parent.$parent.outline_field_usage);
        var hash = $scope.$parent.$parent.$parent.outline_field_usage;
        for (var k in hash) {
            // use hasOwnProperty to filter out keys from the Object.prototype
            if (hash.hasOwnProperty(k)) {
                console.log('key is: ' + k + ', value is: ' + hash[k].is_entry_dragged);
            }
        }
    }]
};

嗯,不知道它是如何工作的,但不是使用

var hash = $scope.$parent.$parent.$parent.outline_field_usage;
我只是想---


而且它起作用了。

我不确定它是如何工作的,但不是使用

var hash = $scope.$parent.$parent.$parent.outline_field_usage;
我只是想---


它成功了。

您应该使用服务或工厂来共享属性-此处的一些信息:您应该使用服务或工厂来共享属性-此处的一些信息:您应该使用服务或工厂来共享属性-此处的一些信息:子作用域继承父属性子作用域继承父属性propertiesChild作用域继承父属性