所以我试图将一个元素的src设置为一个js变量,它只是不起作用。我尝试了几种方法,但我无法让它发挥作用。这是一种方式
<source src="{{ this.show.podcastUrl }}" type="audio/mpeg">
我也试过
<source v-bind:src="{{ this.show.podcastUrl }}" type="audio/mpeg">
和
<source :src="{{ this.show.podcastUrl }}" type="audio/mpeg">
我做错了什么?这是我的组件
<template>
<div class="panel panel-default">
<div class="panel-heading">
{{ this.show.name }}
<div class="pull-right">
{{ this.show.number }}
</div>
</div>
<div class="panel-body">
<ul>
<li>Air Date: </li>
<li>
<audio controls>
<source v-bind:src="{{ this.show.podcastUrl }}" type="audio/mpeg">
</audio>
</li>
</ul>
</div>
</div>
</template>
<script>
export default {
mounted() {
console.log(this.show);
},
props: {
show: {
type: Object,
required: true
}
}
}
</script>
答案 0 :(得分:18)
这是因为您正在将胡须用于v-bind指令 - 这是不允许的。
VuesJS中的Mustaches {{}}
与模板有关,v-bind
被传递给JS - 因此作为模板引擎的一部分的mustaches不允许进入v-bind
指令。
这应该是正确的方式:
<source :src="show.podcastUrl" type="audio/mpeg">
此处不需要this
。