9
鉴于类似于HTML结构如下:访问父元素(体)
<body>
<div id="one" my-directive></div>
<div>
<div id="two" my-directive></div>
</div>
</body>
当我试图访问它的工作原理的two
父元素和日志返回父格,但是当父母是身体,如在one
的情况下,它不起作用并返回一个空集。
app.directive 'myDirective', ->
(scope,iElement,iAttrs) ->
console.log iElement.parent()
编辑:我对这个问题的猜测是,我的应用程序的身体呈现在客户端和附加到body元素模块的run方法。插入的html为$('body').html($compile(body.render())($rootScope));
,我猜想在内容插入到主体之前,在$ compile函数中调用该指令。我可以解决这个问题吗?
似乎按预期方式工作:http://jsfiddle.net/mTNvq/ – Langdon 2013-04-30 17:02:10
这是怪异,现在我有一些可能是问题的线索。 – olanod 2013-04-30 17:31:09
尝试使用[$ evalAsync](http://docs.angularjs.org/api/ng.$rootScope.Scope#$evalAsync)(在Angular digest循环之后执行,因此在Angular DOM操作之后,但在浏览器呈现之前执行)或[ $ timeout](http://docs.angularjs.org/api/ng.$timeout)(在浏览器渲染后执行)。 – 2013-04-30 18:32:37