2017-08-25 45 views
2

我有下面的代碼,它的工作原理。ngb-alert只適用於類型=「成功」或沒有類型

<ngb-alert *ngIf="alertError" class="fade animate-show animate-hide" (close)="alertError = false"><strong>{{ message }}</strong></ngb-alert> 
<ngb-alert *ngIf="alertSuccess" class="animate-show animate-hide" type="success" (close)="alertSuccess = false"><strong>{{ message }}</strong></ngb-alert> 

但如果我更改爲以下但不

<ngb-alert *ngIf="alertError" class="fade animate-show animate-hide" type="danger" (close)="alertError = false"><strong>{{ message }}</strong></ngb-alert> 
<ngb-alert *ngIf="alertSuccess" class="animate-show animate-hide" type="primary" (close)="alertSuccess = false"><strong>{{ message }}</strong></ngb-alert> 

我的package.json是這樣的。

"dependencies": { 
    "@angular/animations": "^4.3.4", 
    "@angular/cdk": "^2.0.0-beta.8", 
    "@angular/common": "^4.3.4", 
    "@angular/core": "^4.3.4", 
    "@angular/forms": "^4.3.4", 
    "@angular/http": "^4.3.4", 
    "@angular/material": "^2.0.0-beta.8", 
    "@angular/platform-browser": "^4.3.4", 
    "@angular/platform-browser-dynamic": "^4.3.4", 
    "@angular/router": "^4.3.4", 
    "@ng-bootstrap/ng-bootstrap": "~1.0.0-alpha.30", 
    "angular-loader": "^1.6.5", 
    "bootstrap": "^3.3.7", 
    "core-js": "^2.4.1", 
    "font-awesome": "^4.7.0", 
    "primeng": "^4.1.3", 
    "rxjs": "^5.4.2", 
    "screenshot-desktop": "^1.1.0", 
    "underscore": "^1.8.3", 
    "zone.js": "^0.8.16" 
    }, 
    "devDependencies": { 
    "@angular/cli": "^1.2.7", 
    "@angular/compiler": "^4.3.4", 
    "@angular/compiler-cli": "^4.3.4", 
    "@types/jasmine": "^2.5.53", 
    "@types/node": "^8.0.19", 
    "codelyzer": "^3.1.2", 
    "jasmine-core": "^2.7.0", 
    "jasmine-spec-reporter": "^4.1.1", 
    "karma": "^1.7.0", 
    "karma-chrome-launcher": "^2.2.0", 
    "karma-cli": "^1.0.1", 
    "karma-jasmine": "^1.1.0", 
    "karma-jasmine-html-reporter": "^0.2.2", 
    "protractor": "^5.1.2", 
    "ts-node": "^3.3.0", 
    "tslint": "^5.5.0", 
    "typescript": "^2.4.2" 
    } 

那麼,有些專家可以告訴我這裏有什麼問題嗎?爲什麼輸入主要或危險是行不通的。

回答

0

我想你只是不允許在這裏使用fade這裏。

class="fade animate-show animate-hide" 

如果我運行你的代碼,它只會顯示我的成功。 但是,如果我刪除fade類,它會顯示這兩個消息。

編輯

我比較了你的依賴關係列表。

你試過更新你的庫嗎?
你可以在命令行中運行以下命令:

npm update -D && npm update -S 

依賴,你有,我就不說了:

"angular-loader": "^1.6.5", 
"font-awesome": "^4.7.0", 
"primeng": "^4.1.3", 
"screenshot-desktop": "^1.1.0", 
"underscore": "^1.8.3" 

我特別想知道的是第一個angular-loader。 你知道它的用途嗎?根據它的文檔,這是一個角度JS依賴。

+0

我試過,但仍然沒有爲我工作。我猜其他事情正在造成這種情況。 – Sujoy

+0

我將嘗試比較您提供的依賴項列表,我的 – bvdb

+0

更新了我的答案和依賴項差異列表。我希望能夠幫助你追蹤這個問題。 – bvdb

2

我遇到過類似的問題。我的問題是,Angular認爲我是通過一個變量從中讀取類型的。很明顯,沒有標題爲primary的變量,因此失敗了。將事情改爲[type]="'primary'"完全解決了這個問題。

<ngb-alert *ngIf="alertSuccess" class="animate-show animate-hide" [type]="'primary'" (close)="alertSuccess = false"><strong>{{ message }}</strong></ngb-alert>

+1

神聖的廢話,這讓我瘋狂!非常感謝! – CodeCanuck

相關問題