计算属性

           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;
}
}

mobx源码解读3的更多相关文章

  1. mobx源码解读1

    mobx是redux的代替品,其本身就是一个很好的MVVM框架.因此花点力气研究一下它. 网上下最新的2.75 function Todo() { this.id = Math.random() mo ...

  2. mobx源码解读4

    这节介绍一下mobx的变动因子的稳定性. mobx整个系统是由ObservableValue, ComputedValue, Reaction这三个东西构建的 ObservableValue 是最小的 ...

  3. mobx源码解读2

    我们将上节用到的几个类的构造器列举一下吧: function Reaction(name, onInvalidate) { if (name === void 0) { name = "Re ...

  4. SDWebImage源码解读之SDWebImageDownloaderOperation

    第七篇 前言 本篇文章主要讲解下载操作的相关知识,SDWebImageDownloaderOperation的主要任务是把一张图片从服务器下载到内存中.下载数据并不难,如何对下载这一系列的任务进行设计 ...

  5. SDWebImage源码解读 之 NSData+ImageContentType

    第一篇 前言 从今天开始,我将开启一段源码解读的旅途了.在这里先暂时不透露具体解读的源码到底是哪些?因为也可能随着解读的进行会更改计划.但能够肯定的是,这一系列之中肯定会有Swift版本的代码. 说说 ...

  6. SDWebImage源码解读 之 UIImage+GIF

    第二篇 前言 本篇是和GIF相关的一个UIImage的分类.主要提供了三个方法: + (UIImage *)sd_animatedGIFNamed:(NSString *)name ----- 根据名 ...

  7. SDWebImage源码解读 之 SDWebImageCompat

    第三篇 前言 本篇主要解读SDWebImage的配置文件.正如compat的定义,该配置文件主要是兼容Apple的其他设备.也许我们真实的开发平台只有一个,但考虑各个平台的兼容性,对于框架有着很重要的 ...

  8. SDWebImage源码解读_之SDWebImageDecoder

    第四篇 前言 首先,我们要弄明白一个问题? 为什么要对UIImage进行解码呢?难道不能直接使用吗? 其实不解码也是可以使用的,假如说我们通过imageNamed:来加载image,系统默认会在主线程 ...

  9. SDWebImage源码解读之SDWebImageCache(上)

    第五篇 前言 本篇主要讲解图片缓存类的知识,虽然只涉及了图片方面的缓存的设计,但思想同样适用于别的方面的设计.在架构上来说,缓存算是存储设计的一部分.我们把各种不同的存储内容按照功能进行切割后,图片缓 ...

随机推荐

  1. eclipse简单使用

    1.10个快捷键: 1. ctrl+shift+r:打开资源       Control-Shift-T: 打开类型(Open type) Control-Shift-F: CodeàJavaàPre ...

  2. tomcat与oracle关于8080端口的冲突

    http://blog.csdn.net/baidu_24256693/article/details/44863935 由于电脑里同时安装了tomcat与oracle,所以8080的端口是冲突的. ...

  3. [git]rebase和merge

    转自:http://blog.csdn.net/wh_19910525/article/details/7554489 Git merge是用来合并两个分支的. git merge b # 将b分支合 ...

  4. WM_MOUSELEAVE和WM_MOUSEHOVER使用

      默认情况下,窗口是不响应 WM_MOUSELEAVE 和 WM_MOUSEHOVER 消息的,所以要使用 _TrackMouseEvent 函数来激活这两个消息.调用这个函数后,当鼠标在指定窗口上 ...

  5. webstorm(注册,激活,破解,码,一起支持正版,最新可用)(2016.9.2更新)

    webstorm(注册,激活,破解,码,一起支持正版,最新可用)(2016.9.2更新)   来源于:http://blog.csdn.net/xx1710/article/details/51725 ...

  6. 扩展ValidationAttribute 1

    MVC中经常会用一些服务端对Model的验证. 服务端验证要继承自ValidationAttribute,并重写IsValid虚方法来自定义自己的验证规则. protected override Va ...

  7. org.apache.catalina.LifecycleException tomcat 启动 maven 处处都是坑!!!

    问题1:tomcat不识别maven工程解决办法:project右击->Properties->Project Facets,选择Dynamic Web Module及其版本(tomcat ...

  8. 停掉Linux固定的进程

    ps -ef | grep php  查看进程ID,和信息 kill -s 9 1827 相关命令 ps -ef , ps -aux , pgrep php ,

  9. PHP常用函数总结(不定期更新)

    array_merge函数和两个数组相加的区别 array_merge函数,在出现相同的索引数组,会把两个数组中的索引数组,进行融合,以第一个数组的索引最大值往后相加,如果是关联数组,后面数组的值覆盖 ...

  10. java读取文件之txt文本

    1.方法一: public static String txt2String(File file){ 13 String result = ""; 14 try{ 15 Buffe ...