我刚接触Vue.JS,目前在侦听组件上的click事件时遇到问题。
JS:
Vue.component('photo-option', {
data: function () {
return {
count: 0
}
},
props: ['src'],
template: `
<img :src=src v-on:click="$emit('my-event')" />
`
});
HTML:
<photo-option :src=uri v-for='uri in aboutUsPhotos' v-on:my-event="foo" />
...其中foo
是我的主要Vue实例上的一种方法。
以上内容基于the Vue.JS docs for handling component events,但看不到我做错了什么。警报不会触发,并且控制台中没有错误。
在找到这些文档之前,我还尝试将v-on:click='...'
添加到JS(即模板)和HTML中,但都没有成功。
我在做什么错了?
[编辑]
之所以发生这种情况,是因为该代码是由灯箱脚本拾取的,并且其DOM位置已更改。因此大概是绑定/事件附件丢失了。
Vue是否有任何办法允许这样做,也许是通过在某个元素上“重新初始化”自身之类的东西?