为什么我的VueJs组件没有显示在前端?

时间:2015-11-29 14:41:14

标签: javascript django vue.js

我正在尝试在当前的django项目中实现vuejs。 它有点工作。但是我想要一个更干净的结构并使用vuejs组件。

但是组件没有出现在前端。

所以这里我有我的基本vue组件(来自vueify-laravel示例)

<template>
    <div>
        <h1>Hello, {{ name }}</h1>
        <input type="text" v-model="name">
    </div>
</template>

<script>
    export default {
        data: function() {
            return {
                name: 'Laracasts'
            };
        }
    };
</script>

<style>
    h1 {
        color: red;
    }
</style>

在我的app.js中我有

var Vue = require('vue')
import Greeter from './components/Greeter.vue'

new Vue({
    el: '#app',

    components: {
        greeter: Greeter
    }
});

最后在我的一个django模板中

<div id="app">
    <greeter></greeter>
</div>

我安装了vue dev工具,它显示了根节点,然后显示了greeter节点。但没有任何内容。 app容器也是空的。

1 个答案:

答案 0 :(得分:9)

如果模板来自django,那么你必须逃避{{}}。要关闭模板解析,请使用{% verbatim %},或者也可以使用{% templatetag openvariable %}(然后关闭变量)。

尝试:

{% verbatim %}
<template>
    <div>
        <h1>Hello, {{ name }}</h1>
        <input type="text" v-model="name">
    </div>
</template>
{% endverbatim %}
相关问题