html属性中的vuejs变量

jro*_*004 9 html vue.js

所以我试图将一个元素的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在这里不需要.