Tôi đang sử dụng bộ nạp-vue (http://vuejs.github.io/vue-loader/start/spec.html) để xây dựng các thành phần đơn *.vue
của mình, nhưng tôi gặp sự cố với quá trình mở rộng thành phần một tệp từ một thành phần khác.Làm cách nào để mở rộng một thành phần VueJS khác trong một thành phần tệp đơn? (ES6 vue-loader)
Nếu một thành phần sau spec để export default { [component "Foo" definition] }
, tôi sẽ nghĩ nó chỉ là một vấn đề nhập khẩu thành phần này (như tôi làm với bất kỳ thành phần con) và sau đó export default Foo.extend({ [extended component definition] })
Thật không may này không hoạt động. Bất cứ ai có thể vui lòng cung cấp lời khuyên?
Đây là một ý tưởng tuyệt vời, vui mừng bạn đã nhận nó tìm ra. Tôi có thể tưởng tượng ở một số nơi này sẽ thích hợp hơn để mixins – Jeff
Chính xác những gì tôi đang tìm kiếm, cảm ơn. Đây là câu trả lời tốt hơn IMO giải pháp được chấp nhận, bởi vì toàn bộ một thành phần không thể được tạo thành mixin vì nó sẽ làm tăng khả năng va chạm tên. Mixin nên được giới hạn trong mã chia sẻ nhỏ hơn. – Kashif
Điều này làm việc cho tôi nhưng tôi phải cẩn thận về chức năng ghi đè. Ví dụ các cuộc gọi vòng đời như gắn kết đã không bị ghi đè, kỳ quặc cả hai được gọi là: nó và siêu của nó. Nhưng các hàm được khai báo trong các phương thức đã bị ghi đè. Vì vậy, tôi chuyển logic cần thiết để được ghi đè vào các phương thức và gọi chúng từ cuộc gọi vòng đời. – yeahdixon