javascript - Angular 1.5 组件元素上的 ng-class

标签 javascript angularjs

我正在将一些指令转换为组件,并试图消除额外的“包装”元素,因为 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/

相关文章:

javascript - angularjs 中的 ng-show 不适用于 span

javascript - 在与 Create-React-App 一起使用时,我们应该导入整个库还是特定的单个组件?

javascript - fetch的缓存需要客户端管理吗?

javascript - Shopify:在 Javascript 中使用 {% schema %} 中的变量

javascript - 链接的点击事件

angularjs - Angular js双向数据绑定(bind)问题管理 "text box"到 "label"的变化

angularjs - 混合使用常规类和 ng-class

javascript - 从 ng-click 调用 $event 上的 JQuery 函数

javascript - grunt build 在使用 auth0 时生成错误

javascript - 为什么这个 Angular JS 过滤器会删除空格?