2017-02-01 4 views
0

Мой код компонента (SearchResultView.vue), как это:Как решить: [Vue warn]: Ошибка при рендеринге компонента на vue.js 2?

<template> 
    ... 
</template> 

<script> 

    export default{ 
     props:['search','category','shop'], 
     created(){ 
      ... 
     }, 
     data(){ 
      return{ 
       loading:false 
      } 
     }, 
     computed:{ 
      list:function(){ 
       var a = this.$store.state.product; 
       a = JSON.stringify(a) 
       a = JSON.parse(a) 
       console.log(a.list[12]) 
       ... 
      } 
     }, 
     methods:{ 
      ... 
     } 
    } 
</script> 

Когда я проверить это: console.log(a.list[12]) на консоли, результат:

enter image description here

Я хочу, чтобы дисплей значение имя

Я пробую вот так:

console.log(a.list[12].name) 

На консоли, существует ошибка, как это:

[Vue warn]: Error when rendering component at C:\xampp\htdocs\chelseashop\resources\assets\js\components\SearchResultView.vue:

Uncaught TypeError: Cannot read property 'name' of undefined

Как я могу решить эту ошибку?

+0

Поскольку это проблема с рендерингом, вам необходимо придать шаблон, который вы используете для нас. Скорее всего, вы получаете доступ к данным перед их загрузкой или передаете ложные свойства. –

+0

Каков ответ: 'console.log (JSON.stringify (a.list [12]))'? – Saurabh

+0

@Saurabh, '{" id ": 12," name ":" Bunga Gandeng "," photo ":" bunga6.jpg "," price ": 762913," stock ": 36," total_sold ": 54," total_view ": 0," weight ": 68," store_id ": 1," shop_name ":" Bunga Airi "," formatted_address ":" Kemang "}' –

ответ

2

Поскольку он рассчитан, его значение, вероятно, изменяется в течение жизни вашей программы. Вы должны убедиться, что существует a.list[12], прежде чем пытаться получить от него член.

if (a.list[12]) 
    console.log(a.list[12].name); 

 Смежные вопросы

  • Нет связанных вопросов^_^