0

我有以下使用 ui-router 和 Angular 的 1.6x 新组件功能的Plunker 。

状态'userRegister'变为活动状态,然后初始化'userRegister'组件。这个组件注入一个新<user-register/>的,<ui-view>然后注入ng-template脚本块的 HTML 内容,一切正常。

最终的 DOM 最终是:

<ui-view class="ng-scope">
    <user-register class="ng-scope ng-isolate-scope">
      <h1 class="header">Create account</h1>
    </user-register>
</ui-view>

但是,我找不到将 CSS 类选择器添加到<user-register/>标签的方法。

例如使用一个名为.example我想实现以下目标的类选择器:

<user-register class="example ng-scope ng-isolate-scope">...<user-register/>

请问有什么想法吗?

4

1 回答 1

1

当然,您总是可以将模板包装在 div 上并将类放在那里。

如果不想这样做,您可以注入$element并使用该$postLink函数添加您需要的类:

.component('userRegister', {
    templateUrl: '/views/user-register',
    controller: function($element) {
       this.$postLink = function() {
         $element.addClass('example');
       }
    }
 })

这是工作的plunker:

https://plnkr.co/edit/VuWu8L9VqrgJRGnxItY2?p=preview

最终 DOM:

<user-register class="ng-scope ng-isolate-scope example">
  <h1 class="header">Create account</h1>
</user-register>
于 2017-04-06T12:42:21.953 回答