this.counter$ = store.select(fromExample.getCounterCounter);

上述调用返回一个Observable:

传入select方法的fromExample.getCounterCounter是一个createSelector返回的值:

执行select操作:


pathOrMapFn就是fromExample.getCounterCounter指向的值:
注意,Store是Observable的子类,这个select是Store的重新实现:



这个source$就是store.select(fromExample.getCounterCounter);里的store:

最后返回的是一个施加了MapOperator的新Store(新Observable):

而我们应用程序传入selector的fromExample.getCounterCounter,体现在这个新store的什么地方?

source就是我们应用代码里构造函数注入的store,父类是Observable.

对于source store,执行map里指定的箭头函数,即我们应用程序传入store.select里的函数:

位于第976行:


我们传入的getCounter(第1061行的projector)被一个memoize函数修饰:

更多Jerry的原创文章,尽在:“汪子熙”:

this.counter$ = store.select(fromExample.getCounterCounter);相关推荐

  1. this.counter$ = store.select(fromExample.getCounterCounter)之后马上subscribe

    这个类型为Store<fromExample.State>的变量: 本质是个Observable: store的source字段的_value里,包含了两个state的初始值: this. ...

  2. Oracle数据库:sql语言结构,数据查询语言DQL,select * from table;算术,别名,连接,去重等操作

    Oracle数据库:sql语言结构,数据查询语言DQL,select * from table;算术,别名,连接,去重等操作 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很 ...

  3. 苹果 App Store 出现山寨ChatGPT;Anthropic宣布获得4.5亿美元C轮融资

  4. 一个基于ngrx的计数器例子

    (1) 定义action 从@ngrx/store导入Action,新建一个Action的子类: (2) 实现reducer,根据不同的action type,返回不同的store store要存储的 ...

  5. 如何从ngrx store中获取Observable对象

    Actions描述了从Components和services dispatch出来的unique events. counter$: Observable; 这个store的初始化不需要应用开发人员操 ...

  6. ExtJS EditorGridPanel 示例之Array格式Store前后台增删改查(不支持分页)

    示例入口页面html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  7. postgresql select for update 多行加锁顺序_insert into select加锁规则补充

    insert into select加锁规则补充 昨天的文章中,针对insert into select语句的加锁情况进行了分析: insert into A select * from B; 形如这 ...

  8. oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别...

    create table  as select * from和insert into select from两种表复制语句区别 create table targer_table as select ...

  9. mysql select 1

    看数据库连接池源码,发现连接池的参数validationQuery(SQL查询,用来验证从连接池取出的连接)设置的值为"SELECT 1",之前很少用这种写法,于是 google一 ...

最新文章

  1. WordPress.com使用JavaScript替换掉PHP
  2. java依赖注入上下文_【Java EE】--Contexts and Dependency Injection (上下文與依賴注入)04...
  3. PHP的pm、pm.max_requests、memory_limit
  4. mysql info commit_mysql show processlist 发现大量的commit
  5. Shell——运行Shell脚本
  6. 虚拟机安装---vm12+ubuntukylin16.04
  7. CleanCodeHandbook Chapter 8: Dynamic Programming(42-47)
  8. 《葵花宝典:WPF自学手册》三大网点书评集萃
  9. [HDU6315]Naive Operations(线段树+树状数组)
  10. 清华大学操作系统OS学习(二)——OS基本概念
  11. Windows下telnet工具使用
  12. php 真太阳时间修正,全国真太阳时对照表
  13. stm8s103k3 周期 捕获_基于stm8s103k3单片机串口UART的正确使用分享
  14. 简易检测wifi信号强度协助检测网络
  15. Visual Studio Code——做嵌入式C/C++开发常用的编辑器软件安装及基本使用总结
  16. 大数据平台核心架构图鉴,建议收藏
  17. IDEA:Push rejected 解决方式
  18. 使用Fiddler快速保存微信视频号上的视频
  19. Lempel-Ziv压缩算法
  20. windows微信公众号采集系统

热门文章

  1. 一站式学习Wireshark(转载)
  2. Linux:环境变量
  3. ASP.NET的地址重写“.NET研究”(URLRewriter)实现原理及代码示例
  4. 使用IShellView接口函数CreateViewWindow
  5. 第九届蓝桥杯省赛--快速排序
  6. python copy 文件,图片等..
  7. SPF难以解决邮件伪造的现状以及方案
  8. Python的功能模块[3] - binascii - 编码转换
  9. linux上安装java环境
  10. ASP.Net中OnBeforeUnLoad事件中调用__doPostBack不起作用?