Angularjs 如何获取控制器实例的元素ID

Angularjs 如何获取控制器实例的元素ID,angularjs,angularjs-controller,Angularjs,Angularjs Controller,我有一个angular应用程序,可以打开多个使用同一控制器的页面。我需要能够引用特定于控制器实例的DOM元素。 例如: <div id="instanceOne" ng-controller="tradeViewController"> <div class='tradeHeader'/> <div class='tradePriceCurve'/> <div class='trendAnalysisGraph'/> </d

我有一个angular应用程序,可以打开多个使用同一控制器的页面。我需要能够引用特定于控制器实例的DOM元素。 例如:

<div id="instanceOne" ng-controller="tradeViewController">
   <div class='tradeHeader'/>
   <div class='tradePriceCurve'/>
   <div class='trendAnalysisGraph'/>
</div>
//Then on a separate page
<div id="instanceTwo" ng-controller="tradeViewController">
   <div class='tradeHeader'/>
   <div class='tradePriceCurve'/>
   <div class='trendAnalysisGraph'/>
</div>
问题是我不知道某个控制器实例绑定到哪个DOM ID(即“#instanceOne”或“#instanceTwo”)


谢谢

您正在以一种非“角度”的方式处理问题。尽量避免将任何DOM操作代码(包括jQuery)放入控制器中

似乎您想要实现一个angular指令来操作DOM元素

无论如何,如果您真的打算继续沿着这条路走下去,您可以通过在控制器所需的可注入列表中添加“$element”来获得控制器所连接的元素:

myModule.controller("myController", ["$element", function($element) ...

从控制器中引用DOM实际上不是一种有角度的方式。我认为有/应该有更好的方法来实现您正在尝试的目标。使用指令来引用DOM元素虽然使其成为一个指令可能更具角度性,但这基本上是一个包含许多绑定、异步调用、指令和其他角度元素的整页。我们恰好允许打开它的两个实例。您的$element可注入工作。
myModule.controller("myController", ["$element", function($element) ...