V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
haoliang
V2EX  ›  问与答

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

  •  
  •   haoliang · 2022-01-19 20:59:24 +08:00 · 684 次点击
    这是一个创建于 820 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    {
        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 条回复    2022-01-19 22:24:59 +08:00
    zhiyiyi
        1
    zhiyiyi  
       2022-01-19 22:08:17 +08:00 via Android
    vue composition api + vue-use 有可暂停的 watch 方法
    vruzo
        2
    vruzo  
       2022-01-19 22:24:59 +08:00 via iPhone
    Object.freeze() ?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2779 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:17 · PVG 20:17 · LAX 05:17 · JFK 08:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.