Vue框架----缺少Div根对象 报错( Component template should contain exactly one root element. If you are....)

简介: 代码如下

1.错误代码示范

<template>
    <Child :message="message" :age="age" :list="list"/>
    <button @click="message='全新的数据'" >修改数据</button>
    <hr/>
    <Child2 @onEvent="messageHandle"/>
    <p>{{ child2Data }}</p>
</template>
<script>
    import Child from "./Child.vue";
    import Child2 from "./Child2.vue"
    export default {
        name: "Parent",
        data(){
            return {
                message:"数据测试",
                age: 20,
                list:["iwen","sxt","itbaizhan"],
                child2Data:""
            };
        },
        methods:{
            messageHandle(data)
            {
                this.child2Data = data;
            },
        },
        components:{
            Child,
            Child2,
        }
    }
</script>
<style scoped>
</style>

2.报错内容

2345_image_file_copy_322.jpg

3.正确示范

<template>
    <div>
    <Child :message="message" :age="age" :list="list"/>
    <button @click="message='全新的数据'" >修改数据</button>
    <hr/>
    <Child2 @onEvent="messageHandle"/>
    <p>{{ child2Data }}</p>
    </div>
</template>
<script>
    import Child from "./Child.vue";
    import Child2 from "./Child2.vue"
    export default {
        name: "Parent",
        data(){
            return {
                message:"数据测试",
                age: 20,
                list:["iwen","sxt","itbaizhan"],
                child2Data:""
            };
        },
        methods:{
            messageHandle(data)
            {
                this.child2Data = data;
            },
        },
        components:{
            Child,
            Child2,
        }
    }
</script>
<style scoped>
</style>

4.错误总结

从文字翻译上来讲,其实Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead这句话已经讲的很明白了,直译出来 就是:组件模板应该包含一个根元素。如果在多个元素上使用V-IF,则使用V-ELS-IF来链接它们。

但是这么说依然让新手有点摸不着头脑,其实就是说在模版里只能有一个主div(根对象),如果有多个元素,请用一个主div包含他们。

目录
相关文章
|
3天前
|
前端开发 JavaScript
Vue底层实现原理总结
Vue底层实现原理总结
|
5天前
|
JavaScript
|
3天前
|
JavaScript
vue知识点
vue知识点
12 3
|
2天前
|
JavaScript 前端开发
Vue躬行记(7)——渲染函数和JSX
Vue躬行记(7)——渲染函数和JSX
|
JavaScript 前端开发
vue开发:对Element上传功能的二次封装
最近公司老项目改用vue开发,前端框架采用element ui,这个框架风格还是很漂亮的,只是上传功能有一些问题,比如:limit=1限制上传数量后,后面的添加按钮没有隐藏,再用就是如果上传图片组,很多需求需要对图片组进行排序修改,基于这两个需求,对element的el-upload组件进行了二次封装。
2416 0
|
8天前
|
JavaScript 前端开发 测试技术
使用 Vue CLI 脚手架生成 Vue 项目
通过 Vue CLI 创建 Vue 项目可以极大地提高开发效率。它不仅提供了一整套标准化的项目结构,还集成了常用的开发工具和配置,使得开发者可以专注于业务逻辑的实现,而不需要花费大量时间在项目配置上。
63 7
使用 Vue CLI 脚手架生成 Vue 项目
|
6天前
|
存储 JavaScript API
Vue状态管理深度剖析:Vuex vs Pinia —— 从原理到实践的全面对比
Vue状态管理深度剖析:Vuex vs Pinia —— 从原理到实践的全面对比
13 2
|
9天前
|
JavaScript 算法
“Error: error:0308010C:digital envelope routines::unsupported”启动vue项目遇到一个错误【已解决
“Error: error:0308010C:digital envelope routines::unsupported”启动vue项目遇到一个错误【已解决
11 1
|
9天前
|
JavaScript
error Component name “Login“ should always be multi-word vue/multi-word-component-names【已解决】
error Component name “Login“ should always be multi-word vue/multi-word-component-names【已解决】
23 1
|
11天前
|
JavaScript API
【vue实战项目】通用管理系统:信息列表,信息录入
【vue实战项目】通用管理系统:信息列表,信息录入
19 3