【问题标题】:Vue.js + Bootstrap-Select: how to avoid render loop?Vue.js + Bootstrap-Select:如何避免渲染循环?
【发布时间】:2019-02-20 07:41:55
【问题描述】:

我试图让 Vue.js 与 Bootstrap-select 配合得很好,但我完全不知道如何避免在使用 .selectpicker('val') 设置的值与 Vue 不断更新之间的渲染循环。

这里的例子:

https://codepen.io/schmoove/pen/EeeVab

vm.$emit('input', this.value)(第 10 行)

有效,但不适用于多项选择。但是,如果您切换到:

vm.$emit('input', $(this.$el).selectpicker('val'));(将第 10 行替换为第 9 行)

它将脚本发送到一个无限循环中。

我对 Vue.js 比较陌生,只是不明白它应该如何工作,或者如果 Bootstrap-select 让事情变得特别困难。任何帮助将不胜感激!

【问题讨论】:

    标签: javascript vue.js bootstrap-select


    【解决方案1】:

    改变

    vm.$emit('input', this.value)

    vm.$emit('input', vm.value)

    【讨论】:

    • 不幸的是,这无济于事。你会看到如果你选择了多个选项,输出不会更新(它应该在括号中显示 Array 以使其正常工作)。问题仍然存在,如果您取消注释第 9 行(注释第 10 行) - 仍然存在渲染循环。
    • 我已经更新了笔以显示我的意思。一旦你改变了一个值,它就会进入一个渲染循环并挂起浏览器。
    猜你喜欢
    • 2021-08-04
    • 2015-02-20
    • 2021-03-12
    • 2014-06-08
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    相关资源
    最近更新 更多