在Angular指令

时间:2015-07-04 21:07:07

标签: javascript angularjs

在我的自定义指令中,我需要访问对象$ scope。$ parent.users。

如果我是console.log $ scope。$ parent:

pillbox_directives.directive('scheduleCell', function(){
        return {
            restrict: 'EA',
            link: function($scope, element, attrs){
                console.log($scope.$parent);        
            }
        }
    });

...然后记录所需的$ parent,并按预期包含对象'us​​ers':

$$ChildScope: function b() {this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$id=++ob;this.$$ChildScope=null;}
$$childHead: n
$$childTail: n
$$listenerCount: Object
$$listeners: Object
$$nextSibling: null
$$prevSibling: null
$$watchers: Array[4]
$$watchersCount: 0
$id: 2
$parent: n
cloneDrop: function ($index) {
deadDrop: function ($index) {
generateSchedule: function (day) {
logOff: function () {
notSorted: function (obj) {
setup: Array[2]
users: Array[2]
__proto__: n

但是,如果我是console.log($ scope。$ parent.users),它会记录'undefined'

为什么我无法以这种方式访问​​$ scope。$ parent.users?

1 个答案:

答案 0 :(得分:0)

users数组使用来自控制器的$ http.get调用进行填充,并且在指令尝试console.log($ scope。$ parent.users)

时尚未完成填充。

解决方案是添加ng-if ="用户"指向元素,以确保用户'存在并在指令加载之前加载。