首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Vue.js 3中动态绑定样式属性?

如何在Vue.js 3中动态绑定样式属性?
EN

Stack Overflow用户
提问于 2020-11-10 04:24:57
回答 2查看 1.5K关注 0票数 2

我只是使用vue3,并希望应用动态样式。我的vue3模板如下:

代码语言:javascript
复制
<ul>
  <li v-for="(question, q_index) in questions" :key="q_index" v-show="question.visible" :style="{padding-left: `question.level`rem}">
    <Question :title="question.title" :options="question.options" :name="question.id" :visible="question.visible" @opUpdate="opHandle"/>
  </li>  
</ul>

我的模板中有“-”错误

代码语言:javascript
复制
Uncaught SyntaxError: Unexpected token '-'

如何在vue3模板中设置动态填充左css样式?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-10 09:27:48

删除连字符并使用模板文字就足够了。

代码语言:javascript
复制
<ul>
    <li
      v-for="(question, i) in questions"
      :key="i" v-show="question.visible"
      :style="{ paddingLeft: `${question.level}rem` }"
    >
        <Question
          @opUpdate="opHandle"
          :title="question.title"
          :options="question.options"
          :name="question.id"
          :visible="question.visible"
        />
    </li>
</ul>

附加:您还可以使用v-bind将对象项传递给同名的道具。

代码语言:javascript
复制
<Question
  @opUpdate="opHandle"
  v-bind="question"  // takes care of `title`, `options` and `visible`
  :name="question.id"
/>
票数 5
EN

Stack Overflow用户

发布于 2020-11-10 07:14:20

您应该用引号''包装该属性:

代码语言:javascript
复制
:style="{'padding-left': `question.level`rem}">
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64762871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档