2017-10-19 102 views
0

我有一个应用程序,我需要在另一个组件中导入组件,并使用导入的组件模板。Angular - 在导入的模板中更新标签

是否可以更改父模板中的HTML标记。例如:

我有一个成分“成分-A”,在该模板:

<input type="text" class="form-control"> 

在组分“组分-B”模板,我想将属性添加到上述输入的标签。 “组件-B” 模板例如:

<h3>Enter your name:</h3> 
<component-a></component-a> 

如何更新输入标签?谢谢。

回答

0

是。对于一个实例让我们的value属性<input>

// component-a 
@Component({ 
selector:'component-a', 
template:'<input type="text" value={{inputData}} class="form-control">' 
}) 
export class ComponentA{ 
@Input() 
inputData:string; 
} 

// component-b 
<component-a [inputData]="'hello'"></component-a> 
+0

感谢的,但如果我想在不组件的一个存在组件引起的B增加新的属性? – Arphel

+0

您可以在'component-a'中使用多个'@Input()'变量,以便您可以将组件-b中的值传递给component-a中的所有变量。例如:'

+0

谢谢,我不明白如果我没有为inputData指定任何值,它不会添加任何属性。 – Arphel

0

您可以在组件b @Input() modifyInput: boolean = false;中使用输入变量。

现在你可以添加一个基于布尔属性:

<input type="text" class="form-control" [attr.name]="modifyInput ? 'Modified' : 'unmodified'"/>