• 3-7 模块的概念




    目前我们只有根模块

    如果都做在一个模块中,会让你的程序难以维护

    模块和模块之间有关系,模块自己本身也有一些属性。
    imports是这个模块依赖于其他的模块。例如依赖于其他的第三方的类库是 别人做好的,这里我依赖,所以导入进来。。
    export:就是你的模块要给别人暴露什么,别人用你的时候,你给别人提供了什么。比如你有个组件要给别人用,那么就配置在Exports里面去。
    Providers:对内,也就是对自己这个模块暴露哪些服务。
    Declations:我这个模块里面有哪些组件,要在这里做声明,让我模块之间的组件互相知道彼此,但是如果你是从imports中导入一个别的组件,那个模块提供的一些组件用不着在你自己的模块里面声明它。这里只声明在自己模块内创建的组件,

    我们在根模块创建的组件

    我们都在根模块中声明了

    例如我们赢的ngModel都是另外一个模块提供的指令

    我们的模块导入了其他模块。

    FormModule里面提供了ngModel指令。你要想使用这个指令,这个指令是其他模块提供的。

    我们要把其他模块在Imports数组中,加载进来。否则的话就不能用了。

    这个formModule对外输出了NgModel这个命令 ,所以我们你才能去使用它,它在它的module放在了Exports 。然后我们在自己的模块Import进来,就可以使用了。 

    bootstrap表示根模块。表示的启动的入口组件是什么。只有根模块才会有这个东西。

    BrowserModule是一个特殊的模块,在根模块需要依赖BrowserModule,在其他模块是不需要的。


    而且这个BrowerModule最主要的目的是Export了CommonModule和ApplicationModule这两个
    ApplicationModule是整个应用的模块,为什么根模块需要它就是因为这里导出了。 ApplicationModule负责引导、初始化一些东西。
    所以根模块需要依赖BrowserModule。
    CommonMudule是其他模块都需要的,所以根模块不需要再单独导入CommonMudule,

    CommonMudule里面提供了很多的指令。BrowerModule顺便把CommonMudule导出了一次。


    Exports主要是用于模块之间的关系。Imporst决定了我们的模块依赖哪些模块。Imporst里面指定是模块,只是导第三方的模块。导入它的同时,里面包含的组件就可以用了。
    Exports里面可以是模块,也可以是指令,
    Providers后面讲依赖注入的时候会细讲,提供了一些服务,可注入的东西。
    Declarations:内部的,只能包含组件和指令和管道。 而且只是负责自己的模块的。就是说我自己模块内部,让大家相互认识。我要在这里进行声明。
    都是我自己的,跟第三方无关

    回顾


     

    结束



     

  • 相关阅读:
    小李子和他的水枪
    尼布尔的祈祷文
    牢骚太盛防肠断,风物长宜放眼量。
    常见浏览器userAgent请求头信息
    微信浏览器点击事件不生效怎么解决?
    2019上半年软件设计师上午考试真题
    360浏览器断网广告怎么去?
    谷歌浏览器打开一个新页面时使用新的标签
    Deep Learning in Bioinformatics
    TensorFlow Playground
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/13501625.html
Copyright © 2020-2023  润新知