Vuejs无法挂载组件:模板或渲染函数未定义

时间:2018-02-06 18:37:06

标签: javascript vuejs2 vue-component

我对VueJs不熟悉,所以记住这一点。

我有像这样的单一模板组件

 <template>
    <div class="testing-container">
        <button v-on:click="toggleContainer" class="btn btn-success btn-sm show-testing-container">Testing <i v-if="!show" class="fa fa-chevron-up"></i><i v-if="show" class="fa fa-chevron-down"></i></button>
        <div v-if="show" class="testing-frame">
            <vue-tabs active-tab-color="#e74c3c"
                      active-text-color="white"
                      type="pills"
                      :start-index="1"
                      direction="vertical"
            >
                <v-tab title="First tab" icon="ti-user">
                    First Tab
                </v-tab>

                <v-tab title="Second tab" icon="ti-settings">
                    Second tab content
                </v-tab>

                <v-tab title="Third tab" icon="ti-check">
                    Third tab content
                </v-tab>
            </vue-tabs>
        </div>
    </div>
</template>
<script>
    export default {
        data() {
            return {
                show: false,
            };
        },
        created() {
        },
        methods: {
            toggleContainer() {
                if(this.show){
                    this.show = false;
                }else{
                    this.show = true;
                }
            },
        }
    }
</script>

我试图加载另一个名为vue-tabs的组件,但我一直在

[Vue warn]: Failed to mount component: template or render function not defined. found in ---> <VueTabs>

这是我的构造函数:

/**
 * Import Vue Tabs
 */
import VueTabs from "vue-nav-tabs"
/**
 * Vue Nav Tabs
 */
Vue.component('vue-tabs', VueTabs)
/**
 * Units Testing Component
 */
Vue.component('unit-testing',
    require('./components/testing/UnitTesting.vue')
);

const app = new Vue({
    el: '#app',
});

Gulp Watch没有抛出任何未找到的错误,所以我真的很困惑这里发生了什么。我提前感谢您的帮助。

1 个答案:

答案 0 :(得分:7)

使用es6 imports

import VueTabs from "vue-nav-tabs"

将从模块导入默认导出为VueTabs(在这种情况下是vue插件,而不是您尝试使用的组件)。

虽然:

import { VueTabs } from "vue-nav-tabs"

将从模块导入VueTabs导出。