Angular4.X開(kāi)發(fā)實(shí)踐中會(huì)遇到哪些問(wèn)題-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Angular 4.X開(kāi)發(fā)實(shí)踐中會(huì)遇到哪些問(wèn)題的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

創(chuàng)新互聯(lián)公司是一家企業(yè)級(jí)云計(jì)算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營(yíng)經(jīng)驗(yàn)。主營(yíng)GPU顯卡服務(wù)器,站群服務(wù)器,服務(wù)器托管雅安,海外高防服務(wù)器,服務(wù)器機(jī)柜,動(dòng)態(tài)撥號(hào)VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。

一、使用ngIf或者ngSwitch出錯(cuò)

在html文件中使用ngIf或者ngSwitch時(shí),會(huì)解析出錯(cuò),錯(cuò)誤提示如下:

Error: Template parse errors:
Can't bind to 'ngSwitch' since it isn't a known property of 'div'.

這個(gè)是因?yàn)闆](méi)有在此Component所在的Module中導(dǎo)入CommonModule,雖然你可能在AppModule中導(dǎo)入過(guò)了,但是還是需要導(dǎo)入一次,代碼如下:

import { CommonModule } from '@angular/common';
@NgModule(
 {
  declarations: [ ],
  imports: [
   CommonModule
  ],
  exports: [ ],
  providers: [ ]
 }
)
export class MainModule { }

二、多級(jí)依賴注入器

Angular 4.X擁有多級(jí)依賴注入系統(tǒng),在一個(gè)注入器的范圍內(nèi),依賴都是單例的。它使用冒泡機(jī)制,當(dāng)一個(gè)組件申請(qǐng)獲得一個(gè)依賴時(shí),Angular 先嘗試用該組件自己的注入器來(lái)滿足它。 如果該組件的注入器沒(méi)有找到對(duì)應(yīng)的提供商,它就把這個(gè)申請(qǐng)轉(zhuǎn)給它父組件的注入器來(lái)處理。 如果那個(gè)注入器也無(wú)法滿足這個(gè)申請(qǐng),它就繼續(xù)轉(zhuǎn)給它的父組件的注入器。

舉個(gè)例子,從登錄頁(yè)點(diǎn)擊登錄按鈕進(jìn)入主頁(yè),LoginComponent和MainComponent都注入了LoginService。

登錄:

//login.service.ts
// 這個(gè)是登錄服務(wù)
import { Injectable } from '@angular/core';

@Injectable()
export class LoginService {
 isLoggedIn: boolean = false;
 login(){
  this.isLoggedIn=true;
 }
}
// login.component.ts
//登錄界面,只有一個(gè)登錄按鈕,點(diǎn)擊后登錄會(huì)把LoginService中的isLoggedIn變?yōu)閠rue

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { LoginService } from '../login/login.service';
@Component({
 selector: 'app-login',
 template:`<button (click)=login()>Login</button>`,
 providers: [LoginService]
})
export class LoginComponent implements OnInit {

 constructor(private router: Router, private loginService: LoginService) { }

 login() {
 this.loginService.login();
 console.log(this.loginService.isLoggedIn); //結(jié)果為true
 this.router.navigate(['/main']);
 }
}
// main.component.ts
// 這個(gè)是登陸后的主界面

import { Component} from '@angular/core';
import { LoginService } from '../login/login.service';

@Component({
 selector: 'app-main',
 template: `<h2>HOME</h2>`,
 providers: [LoginService]
})
export class MainComponent implements OnInit {

 private userType: string ;
 constructor(private loginService: LoginService) {
 console.log(this.loginService.isLoginIn); //結(jié)果為false
 }
}

從上面的例子可以看出來(lái),在不同的地方注入同樣的Service,但是會(huì)使用不同的實(shí)例,所以會(huì)導(dǎo)致結(jié)果可能不同,需要注意。

感謝各位的閱讀!關(guān)于“Angular 4.X開(kāi)發(fā)實(shí)踐中會(huì)遇到哪些問(wèn)題”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站bm7419.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

新聞標(biāo)題:Angular4.X開(kāi)發(fā)實(shí)踐中會(huì)遇到哪些問(wèn)題-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://bm7419.com/article16/gihgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、企業(yè)建站、網(wǎng)站收錄、移動(dòng)網(wǎng)站建設(shè)外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名