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

Angularjs 直接从模板表达式访问元素属性值,angularjs,Angularjs,给定以下角度模板: <div id="MyID" ng-show="MyVar == id"></div> 其中,ng show=MyVar==id我想直接引用元素的id属性,该属性的值为MyID。换句话说,它的解析如下:ng show=MyVar=='MyID'。我如何才能做到这一点?这取决于您如何分配MyID。例如,如果该id是在控制器中生成的,则可以使用: <div id="{{MyID}}" ng-show="MyVar == MyID"></

给定以下角度模板:

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

其中,ng show=MyVar==id我想直接引用元素的id属性,该属性的值为MyID。换句话说,它的解析如下:ng show=MyVar=='MyID'。我如何才能做到这一点?

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

<div id="{{MyID}}" ng-show="MyVar == MyID"></div>
请参见此示例:

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

<div id="MyID" ng-show="MyVar == 'MyID'"></div>
您可以使用ng init来实现这一点:

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

</div>

这里有一个

我想直接在属性中按原样分配它。换句话说,我想引用属性值。这有什么问题:您不能直接引用DOM属性。您尝试过我的解决方案吗?这更接近于答案,但没有内联方式来访问元素属性的值。例如,ng show=MyVar==this.attributes[id]?
<div id="{{val}}" ng-show="MyVar == val" ng-init="val = 'abc'">

</div>