首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel混合更新后,无法将父组件的对象作为属性传递到Vue中

在Laravel混合更新后,无法将父组件的对象作为属性传递到Vue中
EN

Stack Overflow用户
提问于 2019-12-02 21:24:41
回答 1查看 301关注 0票数 0

我最近将我的项目中的laravel mix更新到了最新版本,并且立即被Vue错误所包围。我似乎特别纠结于这一点。我有一个组件:

代码语言:javascript
复制
<template>
    <div>
        <ChildComponent :context="this"></ChildComponent>
    </div>
</template>
<script>
    import ChildComponent from './child-component';
    export default {
        components: { ChildComponent },
        ...
    }
</script>

这是我得到的错误:Error in render: "TypeError: Cannot read property 'context' of undefined"。看起来很奇怪,因为在vue-devtools中,父组件作为对象出现在ChildComponent的context prop中。我可能还应该补充说,在ChildComponent的道具中,context被定义为context: {}

EN

回答 1

Stack Overflow用户

发布于 2019-12-02 22:52:23

<template>中没有定义this,并且试图将整个Vue实例传递给子实例似乎是一种反模式。您应该显式定义数据和变量并将其传递给子组件,并且(可选)如果您希望从子组件接收一些数据,则应该发出事件并绑定到父组件中的这些事件。

如果必须从子组件访问父组件,则可以在子组件https://vuejs.org/v2/guide/components-edge-cases.html#Accessing-the-Parent-Component-Instance中使用this.$parent

但是,除非您有充分的理由使用该$parent变量,否则应该避免使用它,因为它将您的组件紧密耦合在一起。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59139861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档