`caDelete` 方法报错?

TypeError: Cannot read property 'canDelete' of undefined 是什么原因呢?

reply.can_delete = this.canDelete(user, reply)
.
.
.
canDelete(user, reply) {
    if (!user) {
        return false
    }

    return (reply.user_id === user.id)
}
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7
你看我吊吗啊

@liyu001989 这应该是ES5 es6的差异吗。。我是后端 没有阅读这些规范

 replies.forEach(function (reply) {

上方是教程的(严格的说应该是教程之前章节写的和本章不同),下方是Github的。。

 replies.forEach((reply)=> {
5年前 评论

不要 canDelete方法

// 控制是否可以删除
if (!user) {
    reply.can_delete = false
} else {
    reply.can_delete = (reply.user_id === user.id)
}

暂时解决了问题 :joy:

5年前 评论
liyu001989

Cannot read property 'canDelete' of undefined

为什么 this 会是 undefined,去看一下github 上的项目源码,对比一下吧

5年前 评论

@JeffLi (reply) => {} 等同于 function (reply) {} ES6 箭头函数了解一下~

5年前 评论
你看我吊吗啊

@TYu 我知道啊,但是我前端不熟悉,我只知道,改成这样就不报错了。。

5年前 评论

@JeffLi 哈 前段我也不熟 只是稍微了解 - -

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!