javascript - 如何解决: [Vue warn]: Error when rendering component on the vue. js 2?

标签 javascript vue.js laravel-5.3 vuejs2 vue-component

我的组件代码(SearchResultView.vue)是这样的:

<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

如何解决该错误?

最佳答案

因为它是计算值,所以它的值可能会在程序的生命周期中发生变化。在尝试从中获取成员之前,您应该检查以确保 a.list[12] 存在。

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

关于javascript - 如何解决: [Vue warn]: Error when rendering component on the vue. js 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41979767/

相关文章:

javascript - 如何在页面更改时断开 socket.io 的连接

javascript - 如何在 vuetify 中创建一个 fab 按钮?

typescript - 如何修复错误 TS2339 - 'HTMLElement' 上不存在属性

laravel - 如何在 Laravel 5+ 中设置 PhpRedis?

javascript - 如何使用 JavaScript 定位 <article> 中的特定元素?

laravel-5.3 - 将 Auth::user() 添加到 Eloquent save();要求

javascript - 光滑的 slider 更改 bg 图像

javascript - 无法通过使用输入属性

JavaScript:替换字符串两侧的字符

javascript - 如何使用计算属性过滤 VueJS 中 v-for 循环的结果?