2016-05-30 66 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