2017-08-08 85 views
0

我想将父母的属性传递给孩子。有没有什么办法可以直接从父类传递属性,而无需在父类的.ts类中为其创建变量,然后传递它。以下是父代的示例代码:Angular 2从父母到孩子传递html属性

<app-field-lable type="number"></app-field-lable> 

这里是我的字段标签组件。你可以看到我从父类传入type =“number”属性,但它不起作用。我知道在父项中创建变量的机制,然后通过@Input修饰器将其传递给子项。但是,有没有办法在父类中创建所有变量并将其直接传递给子代。

感谢

回答

1

你可以把string@Input

<app-field-lable [inputType]="'number'"></app-field-lable> 

这里是样品TS文件,以及如何在HTML中使用它

@Component({ 
selector: 'app-field-lable', 
template: '<input type="{{inputType}}"/>', 
styleUrls: ['./field-lable.component.css'] 
}) 
export class FieldLableComponent implements OnInit { 
@Input() inputType:string; 
constructor() { } 
ngOnInit{} 
} 

主要思想,即原生属性(如type)需要字符串,但@Input()属性(如[customAttr])需要变量

+0

它不是这样工作的。我试图直接传递“数字”,但输入字段呈现不是type =“number” –

+0

@HaseebWali我无法在'input'上看到'type'属性,你注意到''''里面的单引号' “'double while while arguments?',请更新你的代码到实际的 – Ivan

+0

,如果你通过'”number“' - 你指的是'number'变量,你应该传递字符串值''''''''' – Ivan

相关问题