Javascript 添加google analytics事件后vue单击事件是否已损坏?
我在vue中的一个链接上有一个单击事件,该链接启动了一个模态,模态有一个链接,该链接将用户指向另一个站点。在我添加google analytics点击事件之前,一切都按预期进行。现在模式打开了,但是到另一个站点的链接只是返回到主页/根目录。有没有一种方法可以在不中断链接的情况下调用链接上的两个单击事件 启动模态和链接输出的链接:Javascript 添加google analytics事件后vue单击事件是否已损坏?,javascript,java,vue.js,nuxt.js,Javascript,Java,Vue.js,Nuxt.js,我在vue中的一个链接上有一个单击事件,该链接启动了一个模态,模态有一个链接,该链接将用户指向另一个站点。在我添加google analytics点击事件之前,一切都按预期进行。现在模式打开了,但是到另一个站点的链接只是返回到主页/根目录。有没有一种方法可以在不中断链接的情况下调用链接上的两个单击事件 启动模态和链接输出的链接: <a href="https://www.linkout.com"
<a
href="https://www.linkout.com"
rel="noopener"
@click.prevent="
openInterstitial;
$ga.event('link', 'click', 'ISI_link');
"
target="_blank"
>www.linkout.com</a
>
贮藏
我复制了您的问题,您的
openinterstitual
方法似乎根本没有被调用。问题是您使用该方法访问事件数据(不带括号的用法)。正因为如此,你不能像以前那样把它们拴起来,它就不会被执行。如果使用单个处理程序,则只能省略括号
您可以改为使用带括号的方法,并使用$event
()传递事件数据
@单击。防止=”
开放性间质性事件;
$ga.event('link'、'click'、'ISI_link');
"
这样,您就可以访问事件数据并链接多个方法。
希望能解决你的问题
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;
}
};