zoukankan      html  css  js  c++  java
  • 5-7 操作符和 Async 管道

    rxjs的精彩之处是它可以有一些操作符。它有非常强大的操作符。它不仅仅限于这个表达形式

    filter是用来过滤的。

    然后再用map获取到tabLinkk这个参数。它有一组参数,但是我们只关心 tabLink.
    这个流当中本来是一组参数,我只得到tabLink这一个参数




    批量把param改名字。按住F2同时整体改名字。




    rxjs是一个数据流,pipe是管道,在这个管道中,我们用了各种各样的操作符。可以把操作符想象成 各个弯头,闸门,它会水流变换成不同的样子。
    filter相当于是分流,拦住一些东西,放行一些东西。
    map相当于原来的水流是粗的或者细的,我把它转换成另外一种形式。它是一个变形的东西。

    可以任意的操作这些数据流


    下面这里看起来还不是很优雅





    那么html内我们怎么使用它呢?


    通过async管道。记住用括号括起来。括号里面就表示它的优先级别比较高。先进行管道的转换然后再和hot作比较。
    async就是在模板中帮你做订阅,

    带来好处是你不用再去写脏值监测,angular会帮你做处理。

    页面效果


    功能实现了,并且用了更少的代码

    这里加$符号是rxjs惯例的一个写法。加上$符号让你意识到它是一个流

    改造2

    这里进行修改










    页面效果不变

    这样做的好处

    这样做的好处是,我们不需要清理订阅。
    正常情况下 需要你在ngDestory里面要清理订阅函数。

    像这种,我们就要清理订阅,如果不取消订阅的话,就会有内存泄露。


    并是不所有的情况都用async管道的。


    有的时候还是要用标准的subscribe去做。一定要记住要在ngDestory的时候去取消订阅。

    HomeContainer改造。




    这样可以把它变成onPush,因为我们使用了async管道。就可以把它变为一个笨组件了。

     

    结束




     

  • 相关阅读:
    Jersey的异常处理
    REST响应处理
    jersey REST的接口简述
    Firebird 同一字段的多行合并为一行
    Firebird/InterBase内置函数使用说明
    发布FireBird数据库所需要DLL文件
    unidac连接FireBird数据库
    打开与关闭Linux防火墙
    Linux FTP 命令
    Linux 命令修改系统时间
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/13588929.html
Copyright © 2011-2022 走看看