我有过滤字段,如果有所有包数据,它可以正常工作。 但是这里没有包含某些项目的包裹字段。 我需要根据包名过滤,但现在我收到错误
ERROR TypeError: Cannot read property 'package_id' of undefined
Pipe.ts:
if(user.package_detail.package_id) {
if(parseInt(user.package_detail.package_id) !== parseInt(filter[field])) {
return false;
}
答案 0 :(得分:3)
这是因为对于某些数据,user.package_detail
未定义。
改变这个:
if(user.package_detail.package_id) { ... }
要:
if(user.package_detail && user.package_detail.package_id) { ... }
答案 1 :(得分:2)
问题在于package_detail。
if(user.package_detail && user.package_detail.package_id)
答案 2 :(得分:2)
你可以这样忽略它们:
if(user.package_detail && user.package_detail.package_id) {
// no undefined package_detail or package_id here
}