如何在.second
指令的second
函数中从link
指令获取类first
的元素?
http://plnkr.co/edit/PiCyZzgvdwAuOyNKOi9E?p=preview
P.S它与template
函数中的link
一起使用,但我需要templateUrl
。
答案 0 :(得分:2)
由于您使用的是templateURL,因此需要“下载”HTML,然后这是一个需要一段时间的异步事件。
你可以通过超时来解决这个问题,但由于你不知道等待多长时间,因此不会很干净。
如果 检查此plunkr以获取完整代码: http://plnkr.co/edit/NLdWaL8zRYkroGC7ZkYL?p=preview 现在,如果<second>
应该始终位于<first>
之内,是一个选项,一旦它准备好,就会从它自己的链接函数运行回调:< / p>
{
restrict: "E",
templateUrl:'second.html',
link: function(scope) {
scope.onSecondReady();
}
}
<second>
应该可以在不同的上下文中重用,而不是总是在第一个中,那么您需要使用事件。一旦准备就绪,您可以使用scope.$emit('second-is-ready')
,并从第一个听到它scope.$on('second-is-ready')