我的Vue.js组件是这样的:
<template>
<div>
<div class="panel-group" v-for="item in list">
...
<div class="panel-body">
<a role="button" data-toggle="collapse" href="#purchase-{{ item.id }}" class="pull-right" aria-expanded="false" aria-controls="collapseOne">
Show
</a>
</div>
<div id="purchase-{{ item.id }}" class="table-responsive panel-collapse collapse" role="tabpanel">
...
</div>
</div>
</div>
</template>
<script>
export default {
...
computed: {
list: function() {
return this.$store.state.transaction.list
},
...
}
}
</script>
执行时,会出现如下错误:
Vue模板语法错误:
id=“purchase-{{item.id}}":属性内的插值已被删除。请改用v-bind或冒号简写。
我该怎么解决呢?
7条答案
按热度按时间dba5bblo1#
在
v-bind
中使用JavaScript代码(或快捷方式“:”):和
如果使用ES6或更高版本:
ztyzrc3y2#
使用v-bind或快捷方式语法“:”绑定属性。示例:
eh57zj3b3#
就用
tzdcorbm4#
如果你从一个对象数组中提取数据,你需要像我下面做的那样在你的对象中包含 require('assets/path/image.jpeg')。
示例:
在v-img元素中使用 require(objectName.propName.urlPath) 对我不起作用。
niwlg2el5#
最简单的方法是也需要文件地址:
下面的完整示例显示了**../assets/logo.png:**
eqzww0vc6#
最优雅的解决方案是将图像保存在Webpack之外。默认情况下,Webpack将图像压缩在Base64中,因此如果您将图像保存在assets文件夹中,这将不起作用,因为Webpack将压缩base64中的图像,并且 * 不是 * React变量。
为了解决这个问题,你需要将你的图片保存在你的 * 公共路径 * 中。通常公共路径是在“公共”文件夹或“静态”中。
最后,你可以这样做:
你的HTML可以这样做:
何时使用公共文件夹
更多信息:* Vue.js文档中的“HTML和静态资产”*
8nuwlpux7#
如果以上所有答案都不起作用,请在Vue-3和Composition API中专门执行此操作
:src=“require(
../image/animal_image/${image}
)”