如何使用 quasar - vue 的 q-btn 在新选项卡中打开外部 link 否则相同 window
how to open external link in new tab else same window using q-btn of quasar - vue
如果 external==true
我想用新标签页打开 link 否则使用属性 :to
用相同的 window 打开
我试过下面的代码,但对外部 link.
不正确
模板 -
<q-btn
size="1em"
:color="color"
class="q-pa-md full-width dashboard-btns"
type="a"
:target="external ? '_blank': ''"
:href="external ? openUrl(to): false"
:to="!external ? openUrl(to) :false"
@click="$emit('click')"
>
script - <br>
external link example
link = {"name":"www.google.com","params":""} <br>
internal link example
link = {"name":"dashboard","params":""}
methods: {
openUrl(link) {
if (this.external) {
return "///" + link.name;
} else {
return link;
}
}
}
最后我使用了它并为我工作
模板:
<router-link :to="to ? openUrl(to): ''" :target="external ? '_blank': '_self'">
<q-btn
unelevated
nrounded
size="1em"
:color="color"
class="q-pa-md full-width dashboard-btns"
@click="$emit('click');"
/>
</router-link>
javascript :
methods: {
openUrl(link) {
if (this.external) {
return "///" + link.name;
} else {
let links = this.$router.resolve({
name: link.name,
params: link.params ,
});
return links.route;
}
}
}
如果 external==true
我想用新标签页打开 link 否则使用属性 :to
用相同的 window 打开
我试过下面的代码,但对外部 link.
不正确
模板 -
<q-btn
size="1em"
:color="color"
class="q-pa-md full-width dashboard-btns"
type="a"
:target="external ? '_blank': ''"
:href="external ? openUrl(to): false"
:to="!external ? openUrl(to) :false"
@click="$emit('click')"
>
script - <br>
external link example
link = {"name":"www.google.com","params":""} <br>
internal link example
link = {"name":"dashboard","params":""}
methods: {
openUrl(link) {
if (this.external) {
return "///" + link.name;
} else {
return link;
}
}
}
最后我使用了它并为我工作
模板:
<router-link :to="to ? openUrl(to): ''" :target="external ? '_blank': '_self'">
<q-btn
unelevated
nrounded
size="1em"
:color="color"
class="q-pa-md full-width dashboard-btns"
@click="$emit('click');"
/>
</router-link>
javascript :
methods: {
openUrl(link) {
if (this.external) {
return "///" + link.name;
} else {
let links = this.$router.resolve({
name: link.name,
params: link.params ,
});
return links.route;
}
}
}