Ошибка типа: невозможно прочитать свойство '' из неопределенного - PullRequest
0 голосов
/ 30 января 2020

※ Извините, мой английский sh навыки низкие, поэтому, если вы не можете понять, можете спросить. Я разрабатываю медиа с Nuxt. Я использую API, созданный Rails, который хранится в данных статьи и отображается в Nuxt. В среде разработки данные отображаются нормально, но в производственной среде я обнаружил ошибку

TypeError: Cannot read property 'title' of undefined

Это исходный код

<div class="contents-header">  
  <h1>{{posts.title}}</h1>  
</div>  

export default {   

head(){  
  return{  
    title: this.posts.title,  
    meta:[{ hid: 'title', name: 'title', content: this.posts.title }]
  }  

async asyncData({app,params,error}) {  
  const {id} = params;  
  const response  = await axios.get(`https://hogehoge.com/api/v1/posts/${id}`)  
  .catch(err=> {  
  error({  
    statusCode: err.response.status,  
    message: err.response.data.message,  
  });  
  return err.response;  
  });  
  const posts = JSON.parse(response.data)  
  return {posts};  
},  
} 

1 Ответ

0 голосов
/ 30 января 2020

Вы должны добавить к своему data (или props) свойство posts, поскольку posts не существует в области действия компонента vue:

export default {  
    data(){
        posts: [],
    }
}

И позже в методы кода, которые вы можете установить posts массив так:

this.posts = response.data;
...