【发布时间】:2016-07-15 17:47:11
【问题描述】:
我对工具提示进行了引导修改。 并用 webpack/babel 处理我的 js
我的代码的简化可能是:
$('[data-toggle="tooltip"]').tooltip({
title: () => {
return $(this).children('.tooltip-html-content').html();
}
});
这应该是元素,bootstrap 会调用这个函数:
getTitle: function () {
var title
, $e = this.$element
, o = this.options
title = $e.attr('data-original-title')
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
return title
}
重要的一行是:
o.title.call($e[0])
其中 $e[0] 是工具提示 dom 元素。
好吧,当我用 babel 处理这个时,结果将 this 更改为 _this a 在他将 _this 分配给一个他认为是真实的值之前。
问题:对于这个特定的功能,我可以避免在 babel 中进行这种转换吗?
=====
基于响应的最终解决方案:
getTitle: function getTitle() {
【问题讨论】:
-
旁注:箭头函数周围不需要最外层的
(),title: () => { /* ... */ }很好。 -
您不应该使用箭头,因为这完全违反了规范。很快(或任何时候) babel 将不再需要转换箭头函数,您的代码将会中断。箭头函数不仅是函数的简写。它们有不同的语义。如果您不想要该语义,则不应在这种情况下使用它。
标签: javascript ecmascript-6 webpack babeljs