2016-05-30 75 views
2

我正在爲我的angular 2應用程序使用ng2-bootstrap tooltip插件。如果在共享文件中定義了工具提示字符串,我想添加工具提示屬性。要完成,我認爲以下行會的工作:Angular 2使用ng2-bootstrap工具提示的屬性綁定

<label [attr.tooltip]="translations['artist-tooltip']">....</label> 

然而這不,工作,如果我硬編碼線但一個提示確實出現。

<label tooltip="custom string">....</label> 

這很奇怪,因爲translations ['artist-tooltip']確實會返回一個字符串。如果我檢查我的元素,我可以看到HTML完全符合預期。如果我想實現這樣的:

<label *ngIf="translations['artist-tooltip']" tooltip="translations['artist-tooltip']">...</label> 

我會得到期望的結果,但是現在如果一個工具提示字符串沒有定義沒有顯示輸出領域,這不是我想要的。有人知道發生了什麼問題嗎?

+0

聽起來像是一個計時問題,就像在Angular實際分配它之前通過引導讀取綁定值,然後稍後分配的值將被忽略。 –

回答

1

請嘗試

<label tooltip=" " [attr.tooltip]="translations['artist-tooltip']"> 

<label tooltip="{{translations['artist-tooltip']}}"> 
+0

第一個選項只顯示空的工具提示(但至少顯示一個),第二個選項可以工作,唯一的問題是如果沒有定義翻譯,它也顯示一個空的工具提示。 – hY8vVpf3tyR57Xib

+0

我假設你在第二個建議中忘了一個括號? – hY8vVpf3tyR57Xib

+0

謝謝,已將其刪除。這證實了我對時間的懷疑。 '* ngIf'似乎是當時唯一正確的方式。 –

0

請嘗試

<label data-tooltip [attr.data-tooltip]="translations['artist-tooltip']"> 

爲我工作

OBS:角2

+0

一個解釋將是很好的去與此。 – thecoshman