Javascript 在应用程序vue中检测未定义/空对象属性

Javascript 在应用程序vue中检测未定义/空对象属性,javascript,vue.js,vuejs2,eslint,Javascript,Vue.js,Vuejs2,Eslint,在应用程序vue中检测未定义/空对象属性 我无法解决未定义的对象问题 我正在将vue应用程序与esLint一起使用。但我相信这只能通过javascript来解决 谢谢你们 var Data = (typeof data.method.expiration_date !== 'undefined') ? date.formatDate(String(data.method.expiration_date), 'DD/MM/YYYY') : '' 错误: Uncaught (in promise)

在应用程序vue中检测未定义/空对象属性

我无法解决未定义的对象问题

我正在将vue应用程序与esLint一起使用。但我相信这只能通过javascript来解决

谢谢你们

var Data = (typeof data.method.expiration_date !== 'undefined') ? date.formatDate(String(data.method.expiration_date), 'DD/MM/YYYY') : ''
错误:

Uncaught (in promise) TypeError: Cannot read property 'expiration_date' of null

您需要在访问对象的属性之前添加检查,这里我使用
&&
操作符()在访问它之前检查值的存在性

var exp_data = data && data.methoda && data.method.expiration_date
var Data = (typeof exp_data !== undefined && typeof exp_data !== undefined ) ? date.formatDate(String(exp_data), 'DD/MM/YYYY') : ''
在这种情况下,您需要测试任何假值,然后您可以简单地使用它

var exp_data = data && data.methoda && data.method.expiration_date
var Data = exp_data ? date.formatDate(String(exp_data), 'DD/MM/YYYY') : ''
您可以使用:

var Data=(Data.method&&Data.method.expiration\u date)?date.formatDate(字符串(data.method.expiration_date),'DD/MM/YYYY'):''


检查
数据.method
是否存在,在引用
数据.method.expiration\u date
之前,只需在
方法中没有
过期日期即可。数据
因此,首先检查它是否存在,然后执行您的操作

var Data = (data.method && data.method.expiration_date) ? date.formatDate(String(data.method.expiration_date), 'DD/MM/YYYY') : '';
可能重复的