2017-08-08 98 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

相關問題