我在vue中有一个点击事件,它在一个链接上启动了一个模态,模态有一个链接将用户引导到另一个站点。一切都按预期进行,直到我刚刚添加了一个谷歌分析点击事件。现在模式打开了,但是到另一个站点的链接只是返回到主页/根目录。有没有办法调用链接上的两个click事件而不中断?
启动模态和链接输出的链接:
<a
href="https://www.linkout.com"
rel="noopener"
@click.prevent="
openInterstitial;
$ga.event('link', 'click', 'ISI_link');
"
target="_blank"
>www.linkout.com</a
>
混合方法:
Vue.mixin({
methods: {
openInterstitial(event) {
if (event) {
event.preventDefault();
this.$store.commit('modals/setInterstitialHref', event.target.href);
}
this.$store.commit('modals/setShowInterstitial', true);
}
}
});
商店
export const state = () => ({
interstitial: {
show: false,
href: ''
}
});
export const mutations = {
setShowInterstitial(state, boolean) {
state.interstitial.show = boolean;
},
setInterstitialHref(state, string) {
state.interstitial.href = string;
}
};
1条答案
按热度按时间j8ag8udp1#
我转载了你的问题,似乎你的
openInterstitial
方法根本不会被调用。问题是您使用该方法访问事件数据(不带括号的用法)。正因为如此,你不能像以前那样把他们拴起来,它就不会被处决。如果使用单个处理程序,则只能省略括号。您可以改为使用带括号的方法,并使用
$event
(文档)。这样您就可以访问事件数据并链接多个方法。希望能解决你的问题!