【发布时间】:2018-01-25 13:38:34
【问题描述】:
也许这是不可能的,但我充满希望。
我正在尝试学习 ECMA 6,并且刚刚参加了“课程”。现在我的班级返回一些带有按钮的 HMTML getHTML()。现在我正在尝试绑定一个事件并触发另一个函数。
getHTML() {
return `
<button id="${ this.getId(false) }" class="btn btn-default"
onclick="${ this.setActive()}">${ this.getName() }</button>
`
}
我想要启动的第二个函数如下所示:
setActive() {
this.getActive() ? this.isActive = false : this.isActive = true;
alert(this.getActive());
}
oncklick = ... 是我的尝试,但它确实有效(谁会想到呢?)。
有没有机会让它发挥作用?
【问题讨论】:
-
您的帖子中没有太多代码,但我猜是
bind问题。尝试bind构造函数this.getActive = this.getActive.bind(this)中的方法。或使用箭头函数,它将为this关键字使用词汇上下文:getHTML = () => {...}setActive = () => {...} -
不要使用 HTML 字符串。创建 DOM 元素并正确安装事件处理程序!
-
为我工作,谢谢。
标签: javascript jquery ecmascript-6