直接从模板表达式访问元素属性值

时间:2015-11-13 14:10:10

标签: angularjs

给出以下Angular模板:

<div id="MyID" ng-show="MyVar == id"></div>

我所拥有的, ng-show =&#34; MyVar == id&#34; 我想直接引用该元素&#34; id&# 34;属性值为&#34; MyID&#34;。换句话说,它会像这样解决: ng-show =&#34; MyVar ==&#39; MyID&#39;&#34; 。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

这取决于你如何分配“MyID”。例如,如果在控制器中生成该id,则可以使用:

<div id="{{MyID}}" ng-show="MyVar == MyID"></div>

如果您的ID由ng-repeat生成,则可以使用以下示例:

<div id="{{$index}}" ng-show="MyVar == $index"></div>

请参阅此示例:http://plnkr.co/edit/Wulqg0vKyaHbHXwvTZH4?p=preview

如果您在显示时手动分配您的ID,则可以将其作为字符串进行比较:

<div id="MyID" ng-show="MyVar == 'MyID'"></div>

答案 1 :(得分:0)

您可以使用ng-init来实现此目标:

<div id="{{val}}" ng-show="MyVar == val" ng-init="val = 'abc'">

</div>

此处&#39; a plunkr.