【问题标题】:Angular ng-style for ::after::after 的 Angular ng 样式
【发布时间】:2016-02-12 16:08:14
【问题描述】:

我正在设计一个动态 hr(水平)规则。

在我的样式表中

hr.my-hr:after{
   content:'Generic'
}

在我的模板中

<div ng-repeat="name in ['Adam', 'Collin', 'David']">
<hr class="my-hr" ng-style="{'content':name}">

但是我如何在使用 ng-repeat 时动态更改模板中的内容????

【问题讨论】:

  • 为什么不考虑改变数组本身?
  • 你能举个例子吗??
  • 为什么不直接使用ng-class 并动态添加和删除类my-hr?编辑:您只能在选择器中使用伪元素,而不是内联。 source 所有ng-style 所做的就是添加内联样式。

标签: angularjs ng-repeat ng-style


【解决方案1】:

ng-style 所做的只是添加内联样式。但是您想添加一个伪元素::after。根据MDN

您只能在选择器中使用一个伪元素。它必须出现在语句中的简单选择器之后。

因此推断您不能内联使用它们,这可悲的是,这意味着 ng-style 不能做您想做的事。

但是,如果您的 ::after 在样式表中定义,您可以使用 ng-class 动态添加该样式。

所以

<hr ng-class="{'my-hr': <some condition to evaluate>}" />

大多数情况就足够了。但是,它似乎想要动态设置::aftercontent。所以为此我只能想象两种选择。

如果您只想简单地添加字符串值,请使用数据绑定

<hr />
{{name}}

但是,如果您想对该字符串进行额外的样式设置,请创建一个小指令作为可重复使用的小部件可能是更好的选择。

【讨论】:

    猜你喜欢
    • 2018-11-13
    • 2018-07-26
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 2013-09-04
    • 2011-11-11
    相关资源
    最近更新 更多