我有这个代码:
<b-btn
variant="primary"
class="btn-sm"
:disabled="updatePending || !row.enabled"
@click="changeState(row, row.dt ? 'activate' : 'start')">
Activate
</b-btn>
...........
methods: {
async changeState(channel, newMode) {
const { id, type } = channel;
const data = await this.getToken();
window.open("https://en.wikipedia.org/", "_blank");
return;
}
单击按钮时,不会打开新选项卡。
问题与await this.getToken()
. 如果我删除代码一切正常。
如果它没有工作,const data = await this.getToken();
那么问题是浏览器阻止了它,因为它显然不是点击的结果(并且浏览器往往不喜欢意外的弹出窗口)。
什么可能有效(至少它适用于 Firefox)是执行以下操作:
async changeState(channel, newMode) {
let w = window.open("", "_blank");
const { id, type } = channel;
const data = await this.getToken();
w.location.href = "https://en.wikipedia.org/"
return;
}
您首先打开新窗口的位置,然后更改新打开窗口的 URL。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句