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包含他们。

目录
相关文章
|
2月前
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
40 1
|
4月前
|
JavaScript
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“
本文讨论了在使用Vue和Element UI实现树形数据和懒加载时遇到的“Maximum call stack size exceeded”错误,指出问题的原因通常是因为数据中的唯一标识符`id`不唯一,导致递归渲染造成调用栈溢出。
240 1
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“
|
3月前
|
JavaScript 索引
Vue中对象或数组数据更新但视图不刷新问题的解决策略
Vue中对象或数组数据更新但视图不刷新问题的解决策略
180 0
|
4月前
|
人工智能 JavaScript 索引
Duplicate keys detected: This may cause an update error.【Vue遍历渲染报错的解决】
这篇文章讨论了在Vue中进行列表渲染时遇到的“Duplicate keys detected”错误。这个错误通常发生在使用 `v-for` 指令渲染列表时,如果没有为每个循环项指定一个唯一的 `key` 属性,或者指定的 `key` 属性值重复了。文章提供了导致错误的原始代码示例,并给出了修正后的代码,通过在 `key` 绑定中加入索引确保 `key` 的唯一性。此外,文章还解释了为什么需要唯一 `key` 以及如何解决这个问题。
Duplicate keys detected: This may cause an update error.【Vue遍历渲染报错的解决】
|
3月前
|
JavaScript
Vue启动时报错的解决方案,以及解决相同路径跳转报错的问题
Vue启动时报错的解决方案,以及解决相同路径跳转报错的问题
467 0
|
5月前
|
JavaScript 数据处理
如何使用 Vue.js 将数据对象的值放入另一个数据对象中?
如何使用 Vue.js 将数据对象的值放入另一个数据对象中?
|
5月前
|
存储 自然语言处理 JavaScript
vue中template到VDOM发生了什么
vue中template到VDOM发生了什么
vue中template到VDOM发生了什么
|
5月前
|
JavaScript
VUE——uuid引入报错
VUE——uuid引入报错
102 0
|
5月前
|
JavaScript
Vue——报错总结
Vue——报错总结
44 0
|
Web App开发 JavaScript 前端开发
Vue框架快速入门
Vue是现在最流行的前端框架之一,而且相对于其他两个框架React和Angular来说也更加易学,而且它的作者是国人,中文文档也很完善。当然Vue框架算是比较高级的框架,所以在使用过程中还需要JavaScript、JavaScript 2015、WebPack、NodeJS、npm、ESLint、JavaScript单元测试框架等其他知识和框架的使用方法。
1350 0