2016-05-28 22 views
15

Tôi đang cố đặt thuộc tính trên thành phần nếu một biểu thức nhất định là đúng. Ai đó có thể cho tôi một ví dụ?Tự động đặt thuộc tính vào thành phần trong mẫu html góc 2

Những gì tôi có bây giờ:

<div [danger]="inArray(choice.likers, user, id)"></div> 

nhưng điều này không biên dịch.

inArray là phương pháp của riêng tôi, trả về đúng hoặc sai. Những gì tôi muốn thấy là, nếu biểu thức trả về true, sản lượng sẽ

<div danger></div> 

Trong góc 1 đã có này: ng-attr -... tuyên bố rằng đã làm chính xác ở trên.

Trả lời

31

Để thiết lập một thuộc tính sử dụng thuộc tính ràng buộc:

<div [attr.danger]="inArray(choice.likers, user, id)"></div> 

Nếu bạn muốn hiển thị một thuộc tính có sản phẩm nào có điều kiện trở về chuỗi rỗng hoặc null trong inArray():

inArray() { 
    let value; 
    if (isInArray) { 
     value = ''; 
    } else { 
     value = null; 
    } 
    return value; 
    } 

nên thuộc tính sẽ có sản phẩm nào hoặc thuộc tính nguy hiểm không tồn tại. Kết quả là:

<div danger></div> 
+1

Cảm ơn bạn đã bình luận muetzerich. Mã này cho phép tôi đặt giá trị của thuộc tính động nhưng những gì tôi muốn đạt được là đặt chính thuộc tính. – Bram

+0

Để làm rõ: đầu ra với mã của bạn là: danger = "true", nhưng tôi chỉ muốn đặt thuộc tính không cho nó giá trị. – Bram

+0

thử [attr.danger] = "inArray (choice.likers, user, id)? True: null" -> null loại bỏ thuộc tính nguy hiểm – muetzerich

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