2016-05-02 56 views
1

是否可以等待templateUrl完成加载以执行控制器代码?AngularJs如何等待指令中的templateUrl的加载

我以为我可以做到这一点,但作为初学者我没有成功。

例如:

controller:DialogController, 
templateUrl:'mytemplates/display.html' 

,然后我有:

function DialogController($scope){ 
console.log(document.getElementById('chart')); //=>null 
}; 

我想只得到=> DIV ID = “图表” (目前我能得到这个答案超时)

+0

请这个[URL](http://stackoverflow.com/tour),它会帮助你提高你的内容质量 –

回答

0

这意味着它没有完全加载。您可以添加EventListener当页面加载:

addEventListener('load', load, false); 

function load(){ 
    console.log(document.getElementById('chart')); 
} 
+0

其实我可以”不使用链接功能。 控制器和templateUrl处于$ mdDialog $ mdDialog.show({ 控制器:DialogController, templateUrl: '模板/页/样地记录/ displaygraph.html', clickOutsideToClose:真实, 范围:适用范围, preserveScope :true, }); –