2016-06-22 25 views
12

Tôi đang viết thành phần có thể tái sử dụng trong angular2. Trong các thành phần phụ huynh, tôi có thể thiết lập giá trị của @Input ở trẻ em bằng cách bao gồm nó trong mẫu như thế này:Angular2: chuyển boolean thành @Input

<child-component #logoutModal [button1Text]="'Do Something Groovy'" 
    [showbutton1]="false"></child-component' 

Văn bản được nội suy vào đứa trẻ sử dụng {{ button1Text }}, như mong đợi. Tuy nhiên, đối với boolean ở trên, giá trị không được chuyển vào mẫu. Nếu tôi làm {{showButton1}} trong mẫu của thành phần con, nó sẽ hiển thị true, là giá trị mặc định được đặt trong lớp của trẻ bằng cách sử dụng trình trang trí @Input.

EDIT: dưới đây là cách tôi đặt giá trị mặc định trong thành phần trẻ:

export class ChildComponent implements AfterViewInit { 
    // default values 
    @Input() public showButton1: boolean = true; 
    @Input() public button1Text: string = 'OK'; 
    //.. 

Làm thế nào để ghi đè/thiết lập giá trị boolean này từ các thành phần cha mẹ? Cảm ơn!

+0

Bạn có thể cho thấy một phần của thành phần của bạn? – rinukkusu

Trả lời

7

Nó phải là

[showButton1] 

thay vì

[showbutton1] 

(chữ hoa B - mẫu Angular2 là trường hợp nhạy cảm)

+3

DOH! Mặt cọ. Cảm ơn sự kiên nhẫn của bạn! – Fiona

Các vấn đề liên quan