【问题标题】:Vue - watch for changes on this.$el.clientWidthVue - 注意 this.$el.clientWidth 的变化
【发布时间】:2018-01-30 13:34:02
【问题描述】:

是否可以观察组件元素 clientWidth (this.$el.clientWidth) 的变化? 比如:

 this.$watch(
        () => {
            return this.$el.clientWidth;
        },
        (newWidth, oldWidth) => {
            console.log(newWidth);
        }
    )

【问题讨论】:

  • 恕我直言,调整元素大小时无法获取事件。如果元素只会在调整窗口大小时更改其尺寸,那么您可以监听该事件。或者您需要定期检查尺寸。为什么你需要知道这一点?也许这是一个可以用纯 css 解决的问题。
  • 我想在其他一些元素调整大小时调整固定元素的大小,用 css 没办法。
  • 那将是一个很好的答案,@t.niese
  • 间隔是解决方案,但我希望有更好的方法
  • 是什么导致其他元素调整大小?

标签: javascript vue.js


【解决方案1】:

我正在调查同样的问题。 我认为依赖于 HTML 生命周期的解决方案在某些情况下是有效的。 如果我现阶段的解决方案能为您服务,我很高兴。

mousemove (e) {
    this.clientWidth = this.$el.clientWidth
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 2016-04-28
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多