【问题标题】:FIre event on toggle of v-showv-show 切换时的 FIre 事件
【发布时间】:2018-07-12 15:56:24
【问题描述】:

我将 Laravel 与 Vuejs 一起使用。我想在组件显示或隐藏时触发事件。如何做到这一点?

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

【问题讨论】:

  • 你想什么时候触发事件?当用户点击一个按钮或其他?
  • 事件应该如何发生?
  • 组件展示。

标签: laravel vue.js blade


【解决方案1】:

如果您想在视图更新后做某事(即组件实际上是可见或隐藏的),您可能必须将 $emit 包装在 @987654323 @,见Vue.nextTick( [callback, context] )

这取决于更新手表或计算的确切顺序,但如果您在事件的接收者中得到意外结果,这是一个尝试的选项。

查看讨论here

this.$nextTick(function() { 
  this.$emit('galleryVisible', this.gallery) 
});

【讨论】:

    【解决方案2】:

    你可以使用观察者:

    watch: {
        gallery: {
            handler: value => {
                this.$emit('gallery-toggled', value)
            }
        }
    }
    

    或计算:

     computed: {
        toggle () {
             this.$emit('gallery-toggled', this.gallery)
        }
      }
    

    【讨论】:

      猜你喜欢
      • 2016-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-29
      • 2013-06-26
      • 1970-01-01
      相关资源
      最近更新 更多