Angular 2 Binding:附加到Href

jjj*_*jjj 11 angular2-template angular

很抱歉,如果这很简单,但只是无法弄清楚...在我的Angular测试应用程序中,我试图在我的html模板中附加一个id以下内容:

<a href="https://www.domainname.com/?q="+{{text.id}}>URL</a>
Run Code Online (Sandbox Code Playgroud)

这不会失败并出现错误(错误:无法在'Element'上执行'setAttribute')并且我不确定如何将{{text.id}}附加到此网址...我是否需要在我的组件中执行此操作,还是可以在html模板中以某种方式完成?

BTW.正如人们所预料的那样,这很好用(但这不是我想做的,我需要将text.id附加到url):

<a href="https://www.domainname.com/?q=">{{text.id}}</a>
Run Code Online (Sandbox Code Playgroud)

有什么建议?

acd*_*ior 19

使用:

<a href="https://www.domainname.com/?q={{text.id}}">URL</a>
Run Code Online (Sandbox Code Playgroud)

说明:

错误消息具有误导性.

当你使用时{{ expression }},angular将评估expression并将其值放在正确的位置{{}}.所以你不需要像你那样对字符串+的结果{{}}.换一种说法:

<a [href]="'https://www.domainname.com/?q=' + text.id">URL</a>
Run Code Online (Sandbox Code Playgroud)


Kim*_*ern 18

或者,您可以使用以下语法:

[attr.href]="'https://www.domainname.com/?q=' + text.id"
Run Code Online (Sandbox Code Playgroud)

当您想要绑定到变量之类时,这可能是首选方法

url: string = 'https://www.domainname.com';
Run Code Online (Sandbox Code Playgroud)

然后受到约束

[attr.href]="url"
Run Code Online (Sandbox Code Playgroud)