haoliang
V2EX  ›  问与答

如何在特定情况下修改 vuejs vm.var 而不触发其 watch?

  •  
  •   haoliang · Jan 19, 2022 · 1112 views
    This topic created in 1612 days ago, the information mentioned may be changed or developed.

    我目前的处理方式是加个计数,凑活着可以用。不知道大家有啥更好的方法没?

    {
        data() {
            return {
                avoid_changes: 0,
                count: 1,
            }
        },
        watch: {
            count: function(a, b) {
                if (this.avoid_changes > 0) {
                    this.avoid_changes -= 1
                } else {
                    // triggered
                }
            }
        }
    }
    
    if (vm.count != 9) {
        vm.avoid_changes += 1
        vm.count = 9
    }
    
    2 replies    2022-01-19 22:24:59 +08:00
    zhiyiyi
        1
    zhiyiyi  
       Jan 19, 2022 via Android
    vue composition api + vue-use 有可暂停的 watch 方法
    vruzo
        2
    vruzo  
       Jan 19, 2022 via iPhone
    Object.freeze() ?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   836 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 21:46 · PVG 05:46 · LAX 14:46 · JFK 17:46
    ♥ Do have faith in what you're doing.