Angular 2+ - ng-content作为模板中的属性值

时间:2017-05-29 14:02:25

标签: javascript angular

我的组件看起来像这样:

<text-field name=myusername>Username</text-field>

我想将“用户名”放在输入的占位符属性中,有点像这样:

<input name={{name}} placeholder="{{ng-content}}">

当然,上面的方法不起作用,但我想知道是否有办法将ng-content放在属性中?

这是我的测试人员: http://plnkr.co/edit/gk0Y6IQGXyk4gJz5EjV4?p=preview

2 个答案:

答案 0 :(得分:3)

当然有一些解决方法,比如我在改编你的plnkr时创建的那个:http://plnkr.co/edit/c7XEgIDiFchjMjzVmyBF?p=preview

<span style="display: none;" #text><ng-content></ng-content></span>
<input name={{name}} placeholder="{{text.innerHTML}}">

使用隐藏的范围来包含内容,并将其用作占位符的值。

答案 1 :(得分:2)

不,那不行。显示内容的唯一方法是使用:

<ng-content></ng-content>

您正在尝试使用其他类型的@Input,并且在语义上保持一致,不支持获得此类“输入”。只需在组件中使用属性和@Input

即可