2017-06-17 27 views
5

Tôi muốn đặt thuộc tính trên thành phần của mình mà không có bất kỳ giá trị nào. Ví dụ:Đạo cụ thành phần Vue không có giá trị

<my-button primary>Save</my-button> 

Tôi tuyên bố primary trong props của thành phần của tôi:

Vue.component("my-button", { 
    props: ["primary"], 
    template: "<button v-bind:class='{primary: primary}'><slot></slot></button>" 
}) 

Thật không may, nó không hoạt động. Tài sản primaryundefined và lớp học không được áp dụng.

JSFiddle: https://jsfiddle.net/LukaszWiktor/g3jkscna/

Trả lời

8

Điều quan trọng là để khai báo kiểu của prop như Boolean:

props: { 
    primary: Boolean 
} 

Sau đó, xác định chỉ tên thuộc tính làm cho giá trị của nó thiết lập để true.

Working JSFiddle: https://jsfiddle.net/LukaszWiktor/gfa7gkdb/

+0

Tín dụng cho [@Mottokrosh] (https://stackoverflow.com/users/1244894/mottokrosh) như ông Nguyên văn giải pháp này trong một cuộc thảo luận laracasts: [Props không có giá trị (nghĩ các thuộc tính) trong Vuejs] (https://laracasts.com/discuss/channels/vue/props-without-values-think-attributes-in-vuejs). –

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