2017-10-11 59 views
2

你知道如何混合模板字符串与插值? 此行不起作用。如何在单向绑定中使用模板字符串?

<a [href]='`#/emailing/scenario/${marketing._id}`'>{{marketing.name}}</a> 

谢谢! PS:我知道下面的语句可以用不同的方式进行重写,它只是为了举例。

回答

3

事实上,这应该工作

[href]="'#/emailing/scenario/' + marketing._id" 

Plunker Example

href="#/emailing/scenario/{{marketing._id}}" 

Plunker Example

这将是具有ES6字符串格式模板内工作,但据我所知它不支持尚未

+0

第二个命题不起作用,请您删除它吗? –

+0

@VivienAdnot检查此https://plnkr.co/edit/QWXOE7zlULryXVZb8MJ8?p=preview – yurzui

+0

我得到错误“得到插值({{}})在哪里表达期望”。也许它在你的例子中起作用,因为模板不在单独的文件中? –

0

应该

<a href='#/emailing/scenario/{{marketing._id}}'>{{marketing.name}}</a> 
+0

'得到插值({ {}}),其中表达expected'我们不能用内属性绑定 – yurzui

+0

插补请测试您的解决方案 – Faisal

+0

@yurzui耶忘了改[HREF]到HREF – Sajeetharan

1

显然,你不能使用$ {}串模板语法分量模板不错。在与模板

get url(){ 
    return `#/emailing/scenario/${this.marketing._id}`; 
} 

然后将它绑定:如果您更希望使用语法出于某种原因,你可以在你的组件定义getter如下

<a [href]='url'>{{marketing.name}}</a> 
+0

'marketing'从哪里来?你的意思是'getUrl(营销)'?如果它将在ngFor中呢? – yurzui

+0

不,并不意味着getUrl()。只是一个普通的getter属性,它定义了一个计算属性。 ngFor会使这个getter属性无用,在这种情况下,gerUrl()将是必需的。 –