4

我想编写一个块助手来检查是否应该为某个角色显示一个部分:

{{#allowApprover "EMP"}} 
<!-- content -->
{{/allowApprover}}

助手的定义如下:

allowApprover: (currentRole, options) => {
     return permit(currentRole) ? options.fn(this) : options.inverse(this)
}

上面的代码不起作用,我想这是因为this箭头的行为不同,但我不知道如何使这个工作,还有另一个问题,究竟是options.fn做什么的?

4

1 回答 1

1

我有同样的问题,这个错误信息:

Cannot read property '_sections' of null 

正如@torazaburo 评论的那样,在这种情况下,您应该编写常规函数而不是箭头函数。

这就是为什么,用 Mozilla 的一篇精彩文章的话来说。

ES6 深度箭头函数

这是什么?

普通函数函数和箭头函数之间的行为存在细微差别。箭头函数没有自己的 this 值。箭头函数中 this 的值总是从封闭范围继承的。

展望未来,在同一篇文章中:

对将使用 object.method() 语法调用的方法使用非箭头函数。这些函数将从调用者那里接收到有意义的 this 值。

于 2016-05-16T01:18:02.940 回答