css - 符号::在 css 之后,在 Angular 5 指令中不起作用

标签 css angular directive angular-directive

我需要在必填字段中加一个星号 我有这个代码

.required label::after {
    content: '*';
    color: red;
}

在我的html中

<div class="required" >
  <label for="entity"> entity </label>
  <div>
    <select id="entity">
      <option value="">Entity</option>
    </select>
  </div>
</div>

这很有效。

但我想把它放在指令中。

这是我的指令

@Directive({
  selector: '[lambRequired]',
  host: {
    '[style.after.content]': '"*"',
    '[style.after.color]': '"red"',
  },
})
export class RequiredDirective {
    constructor() {
    }
}

在我的 html 中

  <div >
    <label lambRequired for="entity"> entity </label>
    <div>
      <select id="entity">
        <option value="">Entity</option>
      </select>
    </div>
  </div>

但这不再起作用

帮助我,我将不胜感激。

谢谢

最佳答案

您无法使用此方法来做到这一点,因为伪元素实际上并不是 DOM 树的一部分。因此,它们不会以任何方式暴露在 DOM API 上。

为了能够使用伪元素,您需要像以前一样使用类/CSS。

但是,除非您计划在该指令上拥有更多功能,否则您不会看到创建一个仅更改文本颜色并附加星号而没有任何实际逻辑或事件监控的指令会带来什么好处。对于这样一个简单的目标来说,CSS 类会更有效。

关于css - 符号::在 css 之后,在 Angular 5 指令中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49038452/

相关文章:

html - 我如何为响应式图像提供全宽

node.js - 发送短信通知或推送通知的服务

angular - 订阅 Angular2 中数据提交的可观察对象

html - 带有 anchor 标签的粘性/固定 header - 发现其他解决方案不起作用

html - 在另一个 flexbox 旁边有一个 flexbox 吗?

javascript - Ruby on Rails App 鼠标悬停时显示行相关信息

javascript - 包含 `declare module ' graphql/error/GraphQLError' 的声明 (.d.ts) 文件;在 Angular 项目中的 index.d.ts 中

Angular 4 Base64 上传组件

javascript - 如何在 Angular 指令的链接函数中引用一个值?

javascript - 使用 templateUrl 更新指令元素值