Angular 模块封装概念常见的错误分析理解

 更新时间:2023年07月27日 10:03:17   作者:JerryWang_汪子熙  
这篇文章主要为大家介绍了Angular模块封装概念常见的错误分析理解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Angular引入模块封装概念

Angular 以类似于 ES 模块的方式引入了模块封装的概念。

它基本上意味着可声明的类型——组件、指令和管道——只能由在该模块内声明的组件使用。

例如,如果我尝试使用下面的代码在 App 模块的 App 组件内使用 A 模块中的 a-comp

@Component({
  selector: 'my-app',
  template: `
      <h1>Hello {{name}}</h1>
      <a-comp></a-comp>
  `
})
export class AppComponent { }

错误消息

Template parse errors: ‘a-comp’ is not a known element

这是因为 App 模块中没有声明 a-comp。 如果我想使用这个组件,我需要导入定义这个组件的模块。解决方案如下:

@NgModule({
  imports: [..., AModule]
})
export class AppModule { }

这就是封装发挥作用的地方:A 模块必须通过将 a-comp 添加到 exports 数组来将其声明为在其他 module 内可用:

@NgModule({
  ...
  declarations: [AComponent],
  exports: [AComponent]
})
export class AModule { }

大多数 Angular 新手认为 Providers 也有封装,这种想法是错误的。可以在应用程序内的任何位置访问在任何非延迟加载模块中声明的 Providers.

Modules hierarchy

关于 imported modules 的最大困惑是开发人员认为这些被导入的 Modules 在应用运行时维护了一种层次结构,并且假设导入其他模块的模块成为被导入模块的父模块。

然而,事实并非如此。所有模块在编译阶段合并。因此,导入的模块和导入的模块之间没有层次关系。

所需命名空间之一被定义为默认命名空间。 此命名空间的控制标记不需要前缀。

<View> 标签是必需的,在上面的示例中,核心命名空间在第一行定义。 当然开发人员可以定义任何名称。 例如,为了使标签名称更短,还可以使用 c 而不是 core.

以上就是Angular 模块封装概念常见的错误分析理解的详细内容,更多关于Angular 模块封装概念分析的资料请关注脚本之家其它相关文章!

相关文章

  • Angular设置title信息解决SEO方面存在问题

    Angular设置title信息解决SEO方面存在问题

    爬虫在检索seo信息的时候会读不了js给其赋的值,导致搜索引擎收录不了或者收录了无效的信息,下面本文给大家介绍Angular设置title信息解决SEO方面存在问题,需要的朋友可以参考下
    2016-08-08
  • angular6.x中ngTemplateOutlet指令的使用示例

    angular6.x中ngTemplateOutlet指令的使用示例

    本篇文章主要介绍了angular6.x中ngTemplateOutlet指令的使用示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • angular2系列之路由转场动画的示例代码

    angular2系列之路由转场动画的示例代码

    本篇文章主要介绍了angular2系列之路由转场动画的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • angular2实现统一的http请求头方法

    angular2实现统一的http请求头方法

    今天小编就为大家分享一篇angular2实现统一的http请求头方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • 使用AngularJS对路由进行安全性处理的方法

    使用AngularJS对路由进行安全性处理的方法

    这篇文章主要介绍了使用AngularJS对路由进行安全性处理的方法,AngularJS是一款高人气的JavaScript库,需要的朋友可以参考下
    2015-06-06
  • Angular.js中数组操作的方法教程

    Angular.js中数组操作的方法教程

    AngularJS是google在维护,其在国外已经十分火热,可是国内的使用情况却有不小的差距,参考文献/网络文章也很匮乏。下面这篇文章主要给大家介绍了关于Angular.js中数组操作的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • angular 实时监听input框value值的变化触发函数方法

    angular 实时监听input框value值的变化触发函数方法

    今天小编就为大家分享一篇angular 实时监听input框value值的变化触发函数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Angular中innerHTML标签的样式不起作用的原因解析

    Angular中innerHTML标签的样式不起作用的原因解析

    这篇文章主要介绍了Angular中innerHTML标签的样式不起作用详解 ,本文给出了解决方案,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Angular中样式绑定解决方案

    Angular中样式绑定解决方案

    这篇文章主要介绍了Angular中样式绑定解决方案,使用ngClass和ngStyle可以进行样式的绑定,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • AngularJS 支付倒计时功能实现思路

    AngularJS 支付倒计时功能实现思路

    这篇文章主要介绍了AngularJS 支付倒计时功能的实现思路,需要的朋友可以参考下
    2017-06-06

最新评论