最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Angular 4.X開發(fā)實踐中的踩坑小結(jié)

 更新時間:2017年07月04日 10:30:09   作者:JerryMissTom  
這篇文章主要給大家介紹了關(guān)于Angular 4.X開發(fā)實踐中的一些踩坑經(jīng)驗,文中主要介紹的是使用ngIf或者ngSwitch出錯以及多級依賴注入器的相關(guān)內(nèi)容,需要的朋友可以參考借鑒,下面來一起看看吧。

本文主要給大家分享了關(guān)于Angular 4.X開發(fā)中與到的一些踩坑經(jīng)驗,分享出來供大家參考學(xué)習(xí),下面來一起看看詳細(xì)的介紹:

一、使用ngIf或者ngSwitch出錯

在html文件中使用ngIf或者ngSwitch時,會解析出錯,錯誤提示如下:

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

這個是因為沒有在此Component所在的Module中導(dǎo)入CommonModule,雖然你可能在AppModule中導(dǎo)入過了,但是還是需要導(dǎo)入一次,代碼如下:

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

二、多級依賴注入器

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

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

登錄:

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

@Injectable()
export class LoginService {
 isLoggedIn: boolean = false;
 login(){
  this.isLoggedIn=true;
 }
}
// login.component.ts
//登錄界面,只有一個登錄按鈕,點擊后登錄會把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
// 這個是登陸后的主界面

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

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

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

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • angular.js4使用 RxJS 處理多個 Http 請求

    angular.js4使用 RxJS 處理多個 Http 請求

    本篇文章主要介紹了angular.js使用 RxJS 處理多個 Http 請求,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Angular 2應(yīng)用的8個主要構(gòu)造塊有哪些

    Angular 2應(yīng)用的8個主要構(gòu)造塊有哪些

    這篇文章主要為大家詳細(xì)介紹了Angular 2應(yīng)用的8個主要構(gòu)造塊,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • angular2+node.js express打包部署的實戰(zhàn)

    angular2+node.js express打包部署的實戰(zhàn)

    本篇文章主要介紹了angular2+node.js express打包部署的實戰(zhàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • AngularJS中controller控制器繼承的使用方法

    AngularJS中controller控制器繼承的使用方法

    這篇文章主要介紹了AngularJS中controller控制器繼承的使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • AngularJS中過濾器的使用與自定義實例代碼

    AngularJS中過濾器的使用與自定義實例代碼

    這篇文章運用實例代碼給大家介紹了angularjs中過濾器的使用和自定義過濾器,對大家學(xué)習(xí)AngularJS具有一定的參考借鑒價值,感興趣的朋友們可以參考借鑒。
    2016-09-09
  • 淺談ng-zorro使用心得

    淺談ng-zorro使用心得

    這篇文章主要介紹了淺談ng-zorro使用心得,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • AngularJS中下拉框的高級用法示例

    AngularJS中下拉框的高級用法示例

    這篇文章主要介紹了AngularJS中下拉框的高級用法,結(jié)合實例形式分析了AngularJS下拉框的遍歷、選擇、綁定、顯示等功能實現(xiàn)方法,需要的朋友可以參考下
    2017-10-10
  • AngularJs中$cookies簡單用法分析

    AngularJs中$cookies簡單用法分析

    這篇文章主要介紹了AngularJs中$cookies簡單用法,結(jié)合實例形式分析了AngularJS使用$cookies存儲變量相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2019-05-05
  • 深究AngularJS如何獲取input的焦點(自定義指令)

    深究AngularJS如何獲取input的焦點(自定義指令)

    本篇文章主要介紹了AngularJS如何獲取input的焦點(自定義指令),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • AngularJS實踐之使用NgModelController進(jìn)行數(shù)據(jù)綁定

    AngularJS實踐之使用NgModelController進(jìn)行數(shù)據(jù)綁定

    大家都知道AngularJS中的指令是其尤為復(fù)雜的一個部分,但是這也是其比較好玩的地方。這篇文章我們就來說一說如何在我們自定義的指令中,利用ngModel的controller來做雙向數(shù)據(jù)綁定,本文對大家學(xué)習(xí)AngularJS具有一定的參考借鑒價值,有需要的朋友們可以參考借鑒。
    2016-10-10

最新評論

商水县| 剑阁县| 双江| 长葛市| 怀柔区| 阆中市| 永泰县| 板桥市| 沽源县| 昭通市| 子洲县| 梁河县| 沽源县| 凤阳县| 铜山县| 永昌县| 阳高县| 泌阳县| 筠连县| 阿荣旗| 天长市| 德钦县| 浠水县| 乌什县| 海阳市| 榆树市| 法库县| 中西区| 霞浦县| 新余市| 兖州市| 康定县| 吴江市| 临安市| 乐平市| 碌曲县| 延安市| 乐山市| 肥乡县| 南丰县| 镶黄旗|