关于v-show切换的事件

时间:2018-02-02 07:29:57

标签: laravel vue.js blade

我正在使用Laravel和Vuejs。我想在组件显示或隐藏时触发一个事件。如何实现这个目标?

<album-images v-show ="!gallery"
:album = "album"
:image-arr = "imageArr"></album-images>

2 个答案:

答案 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()