当使用v-if时,vue.js是否不会触发img的加载事件?

时间:2017-11-01 09:29:15

标签: vue.js

我希望为社交登录用户提供在必要时退出的机会。

要做到这一点,如果添加一个调用注销网址的img,当注销完成时,我想删除按钮,但不会触发img的onload。 这里发布了一个类似的问题here。在我的情况下,初始signouturl是一个空字符串。

<button v-on:click="signout(socialLogout.provider)">
Logout
<img v-if="socialLogout.signoutUrl" hidden v-bind:src="socialLogout.signoutUrl" v-on:load="signout"/>
</button>

工作流程是 1.用户登录 2.按钮可见,logouturl填充"https://www.google.com/accounts/Logout" 3.用户点击按钮,img-request完成,google进行注销。但是,img-tag中的v-on:load函数未被触发。

我使用$nextTick做了一个解决方法来完成我的任务,但是如果这可能是vuejs中的一个错误,我还在受伤?

1 个答案:

答案 0 :(得分:1)

是的,它会被触发,因为您可以在此示例中看到:https://codesandbox.io/s/ym91z4wkz

您的问题可能是src url不是图像,所以这就是事件不会触发的原因。正如你所看到的那样,当src出现在图像上时会触发onload事件,但是你的url却没有。