2015-08-21 7 views
6

Ich habe eine Ember-Anwendung und ich muss eine Komponente erweitern, um einige Funktionen zu überschreiben, aber ich möchte nicht die Vorlage ändern, aber auf diese Weise wird es nicht gerendert.Ember erweitern Komponente ohne Änderung der Vorlage

Was muss ich tun, um das Problem zu lösen?

Antwort

12

Dank der hier beantworteten Frage How can I share a template between two components using Ember CLI? konnte ich eine layoutName zu der untergeordneten Komponente hinzufügen, die auf die übergeordnete Vorlage zeigt und löste mein Problem. Mein Code sieht schließlich so aus:

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

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

Sie müssen etwas falsch gemacht haben. In Ember 2.0.0 können Sie eine Komponente erstellen, die von einer anderen Komponente erweitert (und teilt seine Vorlage) mit folgenden Syntax ES6 in components/second-component:

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

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

Es macht mit Schablone und Eigenschaften der ersten Komponente in Ordnung. Wenn Sie es immer noch nicht richtig machen können, fügen Sie bitte Ihren Code zur Frage hinzu.

+0

Wie überprüfe ich, was ist meine Ember-Versionsnummer? – Sami

+0

Check in bower.json. Sie sollten: "ember": "version" haben. –

+0

ist es 1.12.0. ist das in dieser Version möglich? oder sollte die Vorlage neu geschrieben werden? – Sami