我收到一个错误 [Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性‘名称’”

Posted

技术标签:

【中文标题】我收到一个错误 [Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性‘名称’”【英文标题】:I got an error [Vue warn]: Error in render: "TypeError: Cannot read property 'name' of undefined" 【发布时间】:2019-02-22 03:05:03 【问题描述】:

我正在使用 vue,这是我的代码

在我提交表单之前一切正常。当我提交表单并尝试更新 emailForm -> tabs -> en -> data -> name 时出现错误。

<template>
    <el-form :model="emailForm.tabs" ref="emailForm" class="demo-emailForm" @submit="submitForm('emailForm')">
        <div v-for="(lan, key, index) in emailForm.tabs">
        <el-form-item :label="$t('Template Name')" >
            lan.data.name
       </el-form-item>
    <el-form>
<template>
<script>
        export default 
            data() 
                return 
                    emailForm: 
                        tabs: 
                            en: 
                                sortHeand: 'en',
                                title: 'English',
                                data: 
                                    name: "ad",
                                    subject: "asda",
                                    html_code: 'asdad',
                                    status: 0
                                
                            
                        
                    
                
            ,
            methods: 
                submitForm(formName) 
                    this.$refs[formName].validate(valid => 
                        if (valid) 
                            request(
                                url: this.getRoute(),
                                method: "post",
                                data: this[formName].tabs
                            )
                            .then(response => 
                                console.log(response)
                            )
                        
                    );
                ,
            
        
</script>

任何人都可以提出这个问题?

【问题讨论】:

您确定您提供了正确的代码吗?您的 methodsdata() 你肯定错过了jsfiddle.net/Jubels/eywraw8t/374456 是的,那是我的错误,让我编辑这个......,在我身边,它是完美的 Uncaught TypeError: Cannot read property 'msie' of undefined的可能重复 【参考方案1】:

您正在尝试从变量/对象data 中读取属性name,但dataundefined,因此它无法从中读取属性name

【讨论】:

不,当我打印 lan.data 时我可以看到我的数据,它工作正常,但是当我打印 lan.data.name 时它给出了一个错误 告诉我们你在lan.data得到了什么 @AnkitAgarwal "name": "ad", "subject": "asda", "html_code": "asdad", "status": 0 将 lan.data.name 保留在您保留 lan.data 的同一行 同样的事情发生在我身上。我可以在控制台中看到但得到错误

以上是关于我收到一个错误 [Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性‘名称’”的主要内容,如果未能解决你的问题,请参考以下文章

vue 错误:组件渲染函数中的无限更新循环

Vue警告:渲染错误:“TypeError:路由未定义”[关闭]

[Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性 'NomeStr'”

[Vue 警告]:无法挂载组件:Vue CLI 4 中未定义模板或渲染函数

vue计算属性getter错误=> [Vue警告]:渲染错误:“TypeError:无法读取未定义的属性'periodNum'”[重复]

Vue警告]:渲染错误:“TypeError:无法读取未定义的属性'map'”Vue Google地图[重复]