我正在将一些指令转换为组件,并试图消除额外的“包装”元素,因为 replace: true
不再起作用。然而,旧的包装元素上有一个 ng-class。
<some-directive>
<div ng-class="{classOne: someDirectiveCtrl.isClassOne}">
<p>...</p>
</div>
</some-directive>
在该示例中,使用 replace: true
,div 成为“包装”元素。
<div ng-class="{classOne: someDirectiveCtrl.isClassOne}">
<p>...</p>
</div>
所以...
问题
有没有办法访问组件 Controller 中的信息以便将类添加到组件的元素?
即
<some-component ng-class="{classOne: someComponentCtrl.isClassOne}">
<p>...</p>
</some-component>
我不想将组件的函数放在父 Controller 中,并且我希望在 HTML 中列出类。
最佳答案
组件始终使用隔离作用域,外部世界无法访问该作用域。您必须放弃 ng-class 提供的良好声明性方法,并使用组件 Controller 中可用的 $element 。
关于javascript - Angular 1.5 组件元素上的 ng-class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39457642/