angualr父级指令里$http请求数据后子指令获取不到

请问这样为什么获取不到httpdata,是因为异步的关系吗,该怎么解决?

//父级

app.directive('d1',function(){

    return{

        controller:function($scope,$sce,$http){

            var _this = this;

            _this.httpdata = '';

            $http.get('data/data.json')

            .success(function(data,state){

                _this.httpdata = data.elements;

            })

            .error(function(err,state){

                alert(state)

            });

        }

    }

});

//子级

app.directive('d2',function(){

return{

    require:'^d1',

    link:function(scope,elements,attrs,cntIns){


        console.log(cntIns.httpdata)

    }

}


千巷猫影
浏览 592回答 1
1回答

慕标5832272

你只是return了一个controller,,那你觉得你的controller什么时候会执行?你没有注入element或者attr结构不对要不然你就在 你的代码执行之前延迟执行 加的setTimeOut函数 延迟执行试试
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript