无法从Vue模板内的API响应中加载属性

时间:2019-06-25 12:51:15

标签: vue.js vuejs2

如果当前用户位于模板中,则我正在加载名称,但未显示,但是对象本身已很好加载。

<div v-if="currentUser">
            Hello {{currentUser.name}}
            Hello {{currentUser}}
          <router-link to="#">
            <button class="btn btn-outline-dark nav-button" @click="logout">Log out</button>
          </router-link>
</div>

此输出为

Hello Hello {"name":"John"}

因此它正在加载对象本身,而不是name属性。

1 个答案:

答案 0 :(得分:1)

基于响应,我猜您的响应未解析为JSON

您可以尝试

<div v-if="currentUser">
  Hello {{JSON.parse(currentUser).name}}
  <router-link to="#">
    <button class="btn" @click="logout">Log out</button>
  </router-link>
</div>

,但是在模板中执行此操作不是一个好主意。在将其分配给方法中的变量时,最好这样做

this.currentUser = JSON.parse(response);

然后您可以像以前一样使用它