Vue router-view 在尝试读取不在该组件中的变量时被破坏

Vue router-view is broken when it tries to read a variable which is not in that component

我被一个错误困扰了 2 天。我在 Github 上打开了一个问题,但由于我的项目同时具有前端和后端服务器,所以它们关闭了。现在用视频 gif 解释问题:https://s8.gifyu.com/images/screen-recorder-sun-nov-15-2020.gif

错误全图:https://i.ibb.co/9h4LZ9B/Screenshot-from-2020-11-15-16-25-12.png

当我尝试打开“问题详细信息”页面时,路由器坏了。路由器说的错误是它无法在问题详细信息页面中找到 属性 'name'。这就是问题所在。错误显示的代码中没有任何 'name' 变量。这是我的代码的复制:

https://codesandbox.io/s/elastic-sky-rwpzn

我受够了那种情况。如果有任何帮助,我将不胜感激。谢谢!

您的 problemDetails.user.name 是您获得豁免的 name。可能您的模板试图在您获得用户之前呈现。 尝试在 div 中添加一个 v-if,只有当用户存在时才会呈现:

<div class="problem-detail-info" v-if="problemDetails.user">
  <p>created by {{ problemDetails.user.name }}</p>
</div>