zoukankan      html  css  js  c++  java
  • mobx源码解读3

    计算属性

               function Todo() {
                    this.id = Math.random()
                    mobx.extendObservable(this, {
                        aaa: 222,
                        bbb: 11,
                        ccc: function(){
                            return this.aaa + this.bbb
                        }
                    })
                }
                var vm = new Todo
    
                mobx.autorun(function () {
                    console.log(vm.ccc)
                })
    

    这种方式 已经被废掉

    要求使用修饰符或修饰方法

    function Todo() {
                    this.id = Math.random()
                    mobx.extendObservable(this, {
                        aaa: 222,
                        bbb: 11,
                        ccc: mobx.computed(function(){
                            return this.aaa + this.bbb
                        },this)
                    })
                }
                var vm = new Todo
    
                mobx.autorun(function () {
                    console.log(vm.ccc)
                })
    

    也可以使用IE8发明的get关键字,相实就是相当于把this绑定好,转换为访问器属性

    function Todo() {
                    this.id = Math.random()
                    mobx.extendObservable(this, {
                        aaa: 222,
                        bbb: 11,
                        get ccc(){
                            return this.aaa + this.bbb
                        }
                    })
                }
                var vm = new Todo
    
                mobx.autorun(function () {
                    console.log(vm.ccc)
                })
    

    更酷的是这个:

    import {observable, computed} from "mobx";
    
    class OrderLine {
        @observable price:number = 0;
        @observable amount:number = 1;
    
        constructor(price) {
            this.price = price;
        }
    
        @computed get total() {
            return this.price * this.amount;
        }
    }
    

  • 相关阅读:
    【图论】第k短路
    【图论】差分约束系统
    【图论】最短路
    【图论】Johnson算法
    HDU5878
    HDU5900
    pow的小事不简单
    math汇总
    Bellman-Ford最短路径
    图的遍历
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/6058957.html
Copyright © 2011-2022 走看看