【发布时间】:2019-03-13 10:20:44
【问题描述】:
我似乎无法找到我正在寻找的东西。我遇到了一个问题,我希望将道具绑定到自定义 scss 变量。
我有以下“卡片”component:
<template>
<div class="option" v-bind:style="--optionBackground:url(img);" v-on:click="switchCards">
<div class="shadow"></div>
<div class="label">
<div class="icon">
<i class="fas fa-walking"></i>
</div>
<div class="info">
<div class="main">Blonkisoaz</div>
<div class="sub">Omuke trughte a otufta</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "Card",
props: {
img: String
},
methods: {
switchCards () {
console.log('clicked')
}
}
};
</script>
忽略一些占位符脚本。
所以,我正在尝试v-bind:style="--optionBackground:url(img);",其中 img 作为来自父级 component 的道具传入如下:
<template>
<div id="app">
<div v-for="card) in cards" class="options" v-bind:key="card.id">
<Card v-bind:img="card.img"/>
</div>
</div>
</template>
<script>
import Card from "./components/Card.vue";
export default {
name: "app",
components: {
Card
},
data () {
return {
cards: [
{ id: 1, img: 'https://66.media.tumblr.com/8b69cdde47aa952e4176b4200052abf4/tumblr_o51p7mFFF21qho82wo1_1280.jpg'},
{ id: 2, img: 'https://66.media.tumblr.com/f19901f50b79604839ca761cd6d74748/tumblr_o65rohhkQL1qho82wo1_1280.jpg'},
{ id: 3, img: 'https://66.media.tumblr.com/8b69cdde47aa952e4176b4200052abf4/tumblr_o51p7mFFF21qho82wo1_1280.jpg'},
{ id: 4, img: 'https://66.media.tumblr.com/5516a22e0cdacaa85311ec3f8fd1e9ef/tumblr_o45jwvdsL11qho82wo1_1280.jpg'}
]
}
}
};
</script>
但是,我收到以下错误:
invalid expression: Unexpected token : in
--optionBackground:url(img);
Raw expression: v-bind:style="--optionBackground:url(img);"
我已尝试查看尽可能多的用例,但我真的不确定该去哪里...任何帮助将不胜感激! :)
【问题讨论】:
-
card) in cards打错字了?请删除)并重试