如果我想在整个应用中使用服务,我应该在<div class="averios-header">
<div id="setting-dropdown">
<!-- SETTING DROPDOWN WILL GO HERE -->
</div>
</div>
<div id="log-in">
<div id="loginHeader">
<h1>Portal</h1>
</div>
<div id="welcome-text">
<p> Welcome name </p>
<p> Your last login was time on date </p>
<p> Please select an application below to begin </p>
</div>
</div>
<div id="dropdown-one">
<div class="dropdown">
<button class="dropbtn">SELECT</button>
<div class="sphere">
<div id="arrow">
<img src="C:\Users\mseh\Desktop\Images\arrow.png" width="29" height="27" alt=""/>
</div>
</div>
<div class="dropdown-content">
<a href="#">Link 1</a>
<a href="#">Link 1</a>
<a href="#">Link 1</a>
<a href="#">Link 1</a>
</div>
</div>
</div>
中将其声明为提供者,但如果在app.module.ts
中声明它也可以。
这两种方法有什么显着差异吗?
答案 0 :(得分:7)
我们假设您在AppModule
中声明了三个组件。如果您在每个组件中单独提供服务,则每个组件都有自己的服务实例,但如果您在AppModule
中提供服务,则您的服务将是单例 - 每个组件将共享一个相同的实例强烈的>服务。
答案 1 :(得分:0)
使用app.module.ts
vs app.component.ts
只是naming convention,并且不会在程序中确定Angular中的任何内容。该代码适用于您的服务所在的任何位置。将服务放入service-name.service.ts
文件而不是app.module.ts
中可能更有意义。不过,正如Stefan Svrkota的回答所示,你可以获得代码重用的优势