Vue加载默认列表时模板编译报错求助
解决Vue模板编译错误:v-bind指令中错误使用插值语法
看起来你遇到的是Vue模板编译的经典问题——在v-bind指令里误用了双花括号{{}}插值语法。我来帮你拆解问题和修复方案:
问题根源
Vue的v-bind(或简写:src)指令本身就支持直接写JavaScript表达式,不需要再套一层插值语法。你代码里的<img v-bind:src="{{category.URL}}" />就是错误写法,这会导致模板编译时解析失败,抛出你看到的警告。
修复步骤
把v-bind:src里的双花括号去掉,直接写变量名即可:
<template id="results-template"> <div class="results-wrap col-lg-8 col-md-8 "> <h3>Results:</h3> <div v-for="category in books" class="col-xs-3 col-sm-3 col-md-3 col-lg-3 pl-0"> <div class="single-vertical-book box"> <div class="book mt-20 text-center"> <!-- 修正这里:去掉{{}},直接写category.URL --> <img v-bind:src="category.URL" /> <!-- 也可以用更简洁的简写形式 --> <!-- <img :src="category.URL" /> --> <!-- 其他内容... --> </div> </div> </div> </div> </template>
补充说明
- 当需要动态绑定属性时,
v-bind指令接受一个表达式,Vue会自动解析并计算出最终值,赋值给对应的属性。 - 只有在标签的文本内容区域(比如
<div>{{category.name}}</div>),才需要使用双花括号插值语法。
这样修改后,模板应该就能正常编译,图片也能正确加载啦。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

