【发布时间】:2016-02-18 22:30:30
【问题描述】:
这是一个我正在尝试运行的 jQuery 插件。更具体地说,它是 Semantic Ui 的小部件之一,我试图在 Aurelia 中在一个 ES 6/7 环境中使用它。
这行得通:
return $(this.element)[this.methodTrigger]();
但事实并非如此:
let trigger = $(this.element)[this.methodTrigger];
return trigger();
其中$(...) 是一个 jQuery 选择器,this.methodTrigger 只是一个字符串,例如“rating”以加载语义 UI 评级小部件
我做错了吗?这是 ES6 中不允许的吗?它是否错误地转换为纯 JS?我是不是脑死了,没有看到明显的错误?
从语法上看,它应该可以工作......
【问题讨论】:
-
“不起作用”是什么意思?我的猜测是
this不正确。调用trigger()使用全局范围或undefined作为this。 -
第一部分有效,它在屏幕上正确显示小部件。第二部分什么都不做,没有小部件,但控制台上没有错误。
-
打开你的控制台(按 F12)。你看到任何错误吗?我猜你会看到类似
Cannot read property 'prop' of undefined。 -
我会在控制台中看到 something ,但什么也没有。第二部分就像什么都没发生一样执行。
标签: javascript jquery ecmascript-6 semantic-ui aurelia