【问题标题】:TypeError: Cannot read property 'components' of undefined in Vue2TypeError:无法读取 Vue2 中未定义的属性“组件”
【发布时间】:2019-04-14 05:03:59
【问题描述】:

我在 app.vue 的子组件中使用 mixins 没有任何问题,一切都很好并且工作正常,但是当我想在 app.vue 组件中使用它时,我在控制台中遇到了错误。

<script>
/* eslint-disable */
import PanelUser from "./layouts/PanelUser";
import Auth from "./mixins/Auth";
export default {
  name: "App",
  mixins: [Auth],
  components: {
    PanelUser
  },
};
</script>

我也不能用路由器;当我使用它时,页面完全是白色的,没有任何显示。

【问题讨论】:

  • 我觉得你的路由器,js有问题,

标签: vuejs2 mixins


【解决方案1】:

我已经找到了检查这种情况的方法。

首先,您可以看到错误是在 checkComponents 方法中抛出的,移动鼠标并单击鼠标左键。

其次,添加一个断点,然后刷新页面。

第三,也许你会发现一些被引用的mixin或组件显示未定义。 就我而言,第二个 mixin 是未定义的。

最后,检查参考或混合文件。我发现原因是我从另一个文件中复制了 mixin 并忘记在声明部分重命名 mixin。

仅此而已,请尝试自行检查。 :)

【讨论】:

  • 我想指出这个回复是一个很好的有用和指导的例子。感谢您抽出宝贵时间撰写此回复。
【解决方案2】:

错误与mixin有关。

确保您在组件中使用的 mixin 是正确的。 (例如名称、esm 导入路径等)

import samplePackage from "sample-package";
import anotherMixin from "another-package/path/to/mixin";

export default {
    mixins: [
        samplePackage.sampleMixin,
        anotherMixin
    ]
}

【讨论】:

    【解决方案3】:

    你需要改变:

    从“./layouts/PanelUser”导入 PanelUser;

    到

    从“./layouts/PanelUser”导入{PanelUser};

    和

    从“./mixins/Auth”导入验证;

    到

    从“./mixins/Auth”导入{Auth};

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-18
      相关资源
      最近更新 更多