所以我试图将一个元素的src设置为一个js变量,它只是不起作用.我尝试了几种方法,但我无法让它发挥作用.这是一种方式
<source src="{{ this.show.podcastUrl }}" type="audio/mpeg">
Run Code Online (Sandbox Code Playgroud)
我也试过了
<source v-bind:src="{{ this.show.podcastUrl }}" type="audio/mpeg">
Run Code Online (Sandbox Code Playgroud)
和
<source :src="{{ this.show.podcastUrl }}" type="audio/mpeg">
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?这是我的组件
<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>
Run Code Online (Sandbox Code Playgroud)
Bel*_*dak 21
这是因为你在v-bind指令中使用了mustaches - 这是不允许的.
{{}}进入VueJS的胡须与模板有关,v-bind传递给JS - 因此作为模板引擎的一部分的胡须不允许进入v-bind指令.
这应该是正确的方式:
<source :src="show.podcastUrl" type="audio/mpeg">
Run Code Online (Sandbox Code Playgroud)
此外this在这里不需要.