我正在使用Laravel和Vuejs。我想在组件显示或隐藏时触发一个事件。如何实现这个目标?
<album-images v-show ="!gallery"
:album = "album"
:image-arr = "imageArr"></album-images>
答案 0 :(得分:0)
您可以使用观察者:
watch: {
gallery: {
handler: value => {
this.$emit('gallery-toggled', value)
}
}
}
或计算:
computed: {
toggle () {
this.$emit('gallery-toggled', this.gallery)
}
}
答案 1 :(得分:0)
如果您想在视图更新后执行某些操作(即组件实际上是可见的或隐藏的), 可能 必须将$ emit包裹在{{ 1}},请参阅Vue.nextTick( [callback, context] )。
这取决于更新手表或计算的确切顺序,但如果您在事件的接收器中获得意外结果,则可以尝试这样做。
参见讨论here。
nextTick()