为了账号安全,请及时绑定邮箱和手机立即绑定

嵌套/递归组件错误,未注册组件

嵌套/递归组件错误,未注册组件

千万里不及你 2023-06-15 10:26:46
我正在尝试将组件本身与 Nuxt.js 组件一起使用,但在使用中出现此错误:[Vue 警告]:未知自定义元素:- 您是否正确注册了组件?对于递归组件,请确保提供“名称”选项。我的代码看起来像这样components/MyComponent.vue<template><div>    <h1>{{ a.content }}</h1>    <MyComponent :child="a.child" /></div></template><script>export default {    data() {        return {            a : {},        }    },    mounted() {        axios.get('/api/blah/')        .then((res) =>        {            this.a = res.data;        })        .catch((err) =>        {            console.error(err);        });    }}</script>类似的代码适用于带有 vue.js 的原始单页 html 页面,不确定在此处使用之前如何命名组件。我如何让它工作?
查看完整描述

1 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

您应该为您的组件提供一个名称以便递归地重用它,但您应该控制渲染以避免无限循环:


<template>

<div>

    <h1>{{ a.content }}</h1>

    <MyComponent :child="a.child" />

</div>

</template>


<script>


export default {

    name:"MyComponent",

    props:['child'],

    data() {

        return {

            a : {},

        }

    },

    mounted() {

        axios.get('/api/blah/')

        .then((res) =>

        {

            this.a = res.data;

        })

        .catch((err) =>

        {

            console.error(err);

        });

    }

}

</script>


查看完整回答
反对 回复 2023-06-15
  • 1 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信