html属性中的vuejs变量

时间:2016-12-22 18:54:29

标签: html vue.js

所以我试图将一个元素的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>

1 个答案:

答案 0 :(得分:18)

这是因为您正在将胡须用于v-bind指令 - 这是不允许的。

VuesJS中的Mustaches {{}}与模板有关,v-bind被传递给JS - 因此作为模板引擎的一部分的mustaches不允许进入v-bind指令。

这应该是正确的方式:

<source :src="show.podcastUrl" type="audio/mpeg">

此处不需要this