2015-08-21 22 views
6

Tôi có một ứng dụng ember và tôi phải mở rộng một thành phần để ghi đè một số chức năng nhưng tôi không muốn thay đổi mẫu, nhưng theo cách này nó không được hiển thị.Ember mở rộng thành phần mà không thay đổi mẫu

Tôi phải làm gì để giải quyết vấn đề này?

Trả lời

12

Nhờ câu hỏi được trả lời ở đây How can I share a template between two components using Ember CLI? Tôi có thể thêm layoutName vào thành phần con trỏ đến mẫu chính và giải quyết được sự cố của tôi. Mã của tôi cuối cùng trông giống như sau:

import Ember from 'ember'; 
import ExtendFromComponent from './extend-from'; 

export default ExtendFromComponent.extend({ 
    layoutName: 'components/extend-from' 
}); 
3

Bạn phải làm điều gì đó sai. Trong Ember 2.0.0 bạn có thể tạo một thành phần mà kéo dài từ thành phần khác (và chia sẻ mẫu của nó) sử dụng sau cú pháp ES6 trong components/second-component:

import Ember from 'ember'; 
import ExtendFromComponent from './extend-from'; 

export default ExtendFromComponent.extend({ 
    // ... 
}); 

Nó ám tốt với mẫu và tính chất của thành phần đầu tiên. Nếu bạn vẫn không thể làm đúng, hãy thêm mã của bạn vào câu hỏi.

+0

Làm cách nào để kiểm tra số phiên bản ember của tôi? – Sami

+0

Kiểm tra trong bower.json. Bạn nên có: "ember": "phiên bản". –

+0

là 1.12.0. là có thể trong phiên bản này? hoặc nên viết lại mẫu? – Sami

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