在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue.extend無法顯示template內(nèi)容

vue.extend無法顯示template內(nèi)容

使用Vue.extend(require('./message.vue'));導(dǎo)入一個消息組件放到body里面,不知道什么原因,一直導(dǎo)入的只有el的空div,message.vue里面的template沒有導(dǎo)入進(jìn)來,求教是什么問題?

src/components/toast/index.js

import Vue from 'vue';

let MyMsgConstructor = Vue.extend(require('./message.vue'));

let instance;

let message = function (msg) {
    instance = new MyMsgConstructor({
        el: document.createElement("div"),
        data: {
            message: msg,
            visible: true
        }
    });
    
    document.body.appendChild(instance.$el);
    return instance;
};


export default message;

src/components/toast/message.vue

 <template>
    <transition name="el-message-fade">
        <div v-show="visible" class="my-msg">{{message}}</div>
    </transition>
</template>

<script>
    export default {
        data() {
            return {
                message: '',
                visible: true
            }
        },
        methods: {
            close() {
                setTimeout(() => {
                    this.visible = false;
                }, 2000)
            },
        },
        mounted() {
            this.close();
        }
    }
</script>

main.js

import message from './components/toast/index.js'
Vue.$message = Vue.prototype.$message = message;

使用

openToast() {
    this.$message("test");
}
回答
編輯回答
來守候
  //組件需要掛載在dom元素上
  instance.vm = instance.$mount()
2017年7月2日 09:56