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)
上一篇 2022年10月17日 下午3:46
下一篇 2022年10月17日 下午3:46


相关推荐

  • html文本框鼠标离开事件,html鼠标事件_文本框事件「建议收藏」

    html文本框鼠标离开事件,html鼠标事件_文本框事件「建议收藏」该楼层疑似违规已被系统折叠隐藏此楼查看此楼今天57号网络技术分享给大家介绍html鼠标事件,就是当前文本框获得焦点时,里面的原有文本清零。首先我们来看一看源代码运行后的效果图片:你也可以【点击预览】,看到我们真实的效果。下面是源代码,喜欢就支持一下吧:/p>Transitional//EN””http://www.w3.org/TR/xhtml1/DTD/xhtml1-transition…

    2025年8月8日
    4
  • Python爬虫实战之爬取网站全部图片(一)

    Python爬虫实战之爬取网站全部图片(一)Python爬虫实战之爬取网站全部图片(二)传送门:https://blog.csdn.net/qq_33958297/article/details/89388556爬取网址:http://www.meizitu.com/a/more_1.html爬取地址:https://www.meizitu.com/a/list_1_1.html一.获得图片地址和图片名称…

    2022年5月1日
    87
  • 联想笔记本电脑的F1至F12键盘问题。怎么设置才能不按FN就使用F1「建议收藏」

    联想笔记本电脑的F1至F12键盘问题。怎么设置才能不按FN就使用F1「建议收藏」在BIOS中有相应调整开关,开机时进入BIOSCONFIGKeyboard/MouseChangeto"f1-f12keys"选项设置为Legacy。完成后保存重启就

    2022年8月1日
    6
  • LCD Keypad Shield

    LCD Keypad Shieldhttp://wiki.dfrobot.com.cn/index.php/(SKU:DFR0009)LCD_Keypad_Shield(Arduino兼容)简介LCDKeypadShield是一款提供2行16字符液晶显示的Arduino扩展板。扩展了多个按键输入,可供用户作为LCD显示屏的菜单选择按键或者操控按键使用。一个扩展板就能让你与Arduino设备进行互动。我们还扩展Ardui…

    2022年4月30日
    40
  • 轮询与长轮询_轮询和中断

    轮询与长轮询_轮询和中断轮询:说白了就是客户端定时去请求服务端,是客户端主动请求来促使数据更新;长轮询:说白了也是客户端请求服务端,但是服务端并不是即时返回,而是当有内容更新的时候才返回内容给客户端,从流程上讲,可以理解为服务器向客户端推送内容;从中大家可以看出区别:轮询:1:大量耗费服务器内存和宽带资源,因为不停的请求服务器,很多时候并没有新的数据更新,因此绝大部分请求都是无效请…

    2026年4月13日
    5
  • ID卡(工卡)复制到手机NFC「建议收藏」

    ID卡(工卡)复制到手机NFC「建议收藏」1.很多单位的工卡都是ID卡,而读卡机,一般是多频的,支持多种卡,那么如何把ID卡写到手机NFC中,实现“忘带卡自由”呢?2.前提条件:用手机NFC,在单位的刷卡机上刷卡,提示“非法卡”。说明打卡机支持NFC,如果不支持,请略过本文3.在单位的打卡机上正常刷卡,屏幕上会提示卡号。或者有的工卡上带卡号,一般ID卡号是00开头或000开头的10位卡号。如果不是,说明不是ID卡,请略过本文。有的单位的人事系统里也会记录员工的物理ID卡号。或者用其他读卡器读ID卡,也能读到卡号。4.获取到ID物理卡号后

    2022年5月1日
    1.6K

发表回复

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

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