Angular 面试题汇总2-Component/Service (Angular v8+)

Angular 面试题汇总2-Component/Service (Angular v8+)Angularv8+面试系列Angular面试题汇总1-基本知识.目录关于AngularComponentcss样式的作用域、ShadowDOM关于AngularService单例服务(singleton)forRoot()模式关于AngularComponentcss样式的作用域、ShadowDOMShadowDOM是HTML规范的一部分,它允许开发人员封装自己的HTML标记,CSS样式和JavaScript。创建样式Component时,可以通过设置,启用。@Com.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Angular v8+面试系列

关于Angular Component

css样式的作用域、Shadow DOM

Shadow DOM是HTML规范的一部分,它允许开发人员封装自己的HTML标记,CSS样式和JavaScript。创建样式Component时,可以通过设置,启用。

@Component({
  selector: 'my-app',
  template: `
    <h1>Hello World!</h1>
    <span class="red">Shadow DOM Rocks!</span>
  `,
  styles: [`
    :host {
      display: block;
      border: 1px solid black;
    }
    h1 {
      color: blue;
    }
    .red {
      background-color: red;
    }
  `],
  encapsulation: ViewEncapsulation.ShadowDom
})
class MyApp {
}

ViewEncapsulation可选值:

  • ViewEncapsulation.Emulated – 通过 Angular 提供的样式包装机制来封装组件,使得组件的样式不受外部影响。这是 Angular 的默认设置。
  • ViewEncapsulation.Native – 使用原生的 Shadow DOM 特性。但需要考虑浏览器是否支持。
  • ViewEncapsulation.None – 无 Shadow DOM,并且也无样式包装

关于Angular Service

服务(Service)充当着数据访问,逻辑处理的功能。把组件和服务区分开,以提高模块性和复用性。

单例服务(singleton)

  • 使用Angular CLI创建服务,默认会创建单例服务;
  • 把 @Injectable() 的 providedIn 属性声明为 root, 即为单例服务。
  • 单例服务(singleton)对象,可以用于临时存放全局变量。 对于复杂的全局变量,推荐使用状态管理组件(state management – Ngrx)。

forRoot() 模式

如果多个调用模块同时定义了 providers (服务),那么在多个特性模块中加载此模块时,这些服务就会被注册在多个地方。这会导致出现多个服务实例,并且该服务的行为不再像单例一样 。有多种方式来防止这种现象:

  • 用 providedIn 语法代替在模块中注册服务的方式。
  • 把服务分离到它们自己的模块中。
  • 在模块中分别定义 forRoot() 和 forChild() 方法。

Angular v8+面试系列

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180967.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java中将xml文件转化为json的两种方式

    Java中将xml文件转化为json的两种方式最近一直没有时间写博客,忙着找房子,天天来回折腾,光地铁费就花了不少,最后综合各种因素考虑,决定沙河高教园,哈哈,没错,别人都是越搬离公司越近,我是越搬越远,但是直觉告诉我应该没有错,昨天晚上刚搬完家,收拾收拾终于安定了,坑爹的二房东再见,以后如果不出什么特殊情况的话应该是有时间写博客了。。。。    好了废话不多说,进入正题,最近有个需求,要将xml转json之后存储在redi

    2022年7月21日
  • HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?

    HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?

    2021年10月25日
  • hadoop生态系统的详细介绍-详细一点[通俗易懂]

    前提日常喜欢看一些微信分享的好文,总结下来,可以作为过滤器吧(节约更多人的时间!),在这里引用的是别人的文章!对原文的作者表示感谢!确实写的很好!hadoop生态系统的详细介绍简介Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。今天我们来详细介绍下hadoop的生态系统。Hadoop生态…

    2022年4月3日
  • dainying

    dainyingmagnet:?xt=urn:btih:DB334CEAFC75A4045D5958159D972B1CCEC1C590

    2022年7月2日
  • war包压缩命令_抽取zh.pak

    war包压缩命令_抽取zh.pak参考链接:[url]http://www.javaworld.com/article/2857714/learn-java/manipulating-jars-wars-and-ears-on-the-command-line.html[/url]jarcvfaaa.war*jartvfaaa.warjarxvfaaa.war能够作用于jar文件的jar命令同样也…

    2022年10月4日
  • 删除链表倒数第n个节点_单向链表删除倒数第n节点

    删除链表倒数第n个节点_单向链表删除倒数第n节点原题链接给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300 <= Node.val <= 1001 <= n <= s

    2022年8月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号