Vue.js 样式值的条件

Nic*_*lah 3 styles conditional-statements vue.js

我想检查我的模板的价值

        <template slot="projected_end_date" slot-scope="{ line }">
            <datetime-display :value="line.projected_end_date"
                              type="date"
            style= "color: red"></datetime-display>
         </template>
Run Code Online (Sandbox Code Playgroud)

并且仅当我的值小于当前日期时才设置红色样式。有什么建议吗?我假设它应该是这样的

value > DateHelper.now()? style = ...
Run Code Online (Sandbox Code Playgroud)

Dob*_*leL 6

看看类和样式绑定

你可以像这样使用它:

<div :class="{'my-class': myCondition}">
Run Code Online (Sandbox Code Playgroud)

简单的例子

<div :class="{'my-class': myCondition}">
Run Code Online (Sandbox Code Playgroud)
new Vue({
  el: '#app',
  data: {
    selectedColor: 'red'
  }
})
Run Code Online (Sandbox Code Playgroud)
.red { background: red}
.blue { background: blue}
Run Code Online (Sandbox Code Playgroud)


Bho*_*yar 6

您可以使用 像这样类和样式绑定

:style="value < DateHelper.now() ? { 'color': 'red'} : ''"
Run Code Online (Sandbox Code Playgroud)

或者,

:style="{color: value < DateHelper.now() ? 'red' : 'inherit'}"
Run Code Online (Sandbox Code Playgroud)

或者一些默认颜色:

:style="{color: value < DateHelper.now() ? 'red' : 'black'}"
Run Code Online (Sandbox Code Playgroud)

但我建议您尽可能使用类绑定:

:class="{warning: value < DateHelper.now()}"
Run Code Online (Sandbox Code Playgroud)

并在您的 css 样式中:

.warning {
   color: red;
}
Run Code Online (Sandbox Code Playgroud)

此外,您可以简单地使用Date.now()而不是辅助函数。