改变store.string值,并没有触发observe方法

来源:3-2 对可观察的数据做出反应

慕哥0258496

2018-09-06 02:17

console.log(change)并没有执行

写回答 关注

3回答

  • 慕运维4527383
    2021-05-09 18:58:34

    我的也是啊


  • 桃_狸
    2019-08-12 09:21:46

    想问有查到什么原因吗?我的也是

  • qq_一座城_2
    2019-01-04 14:21:02
    import {observable, isArrayLike, computed} from 'mobx';
    
    //observable.box
    /*
    const arr = observable(['a','b','c']);
    console.log(arr[0],Array.isArray(arr),isArrayLike(arr));
    
    */
    
    
    /*const map = observable(new Map())
    map.set('a',1)
    console.log(map.has('a'));
    
    map.delete('a');
    console.log(map.has('a'));*/
    
    /*var num = observable.box(20);
    var str = observable.box('hello');
    
    num.set(50);
    str.set("world");
    
    console.log(num.get(), str.get());*/
    
    
    class Store {
        @observable array = [];
        @observable obj = {};
        @observable map = new Map();
    
        @observable str = 'hello';
        @observable num = 20;
        @observable bool = false;
    
        
    }
    
    //computed
    
    
    var store = new Store();
    
    var foo = computed(function () {
        return store.str + '/' + store.num;
    })
    
    foo.observe(function (change) {
        console.log(change)
    })
    store.str = 'world';
    store.num = 3333333;
    console.log(foo.get());

    我的是可以出发的,你的环境配置正确么

mobx入门基础教程

mobx框架基础入门,使用mobx做状态管理

18816 学习 · 54 问题

查看课程

相似问题