Diese Frage ist mehr über andere Sichtweise der anderen zu verstehen, um eine skalierbarere Ember.JS-Anwendung zu haben und zu klären, was wäre der beste Ansatz, um mit dieser Art von Situation umzugehen.Ember.JS responsive Vorlage
Ich habe eine Vorlage namens posts.hbs
und ich präsentiere eine völlig andere Struktur für mobile und Desktop.
Allerdings sind alle Funktionalitäten gleich, was bedeutet, dass in meinen Controllern die gleichen Aktionen und Funktionen aufgerufen werden, die am Desktop auf dem Mobiltelefon aufgerufen werden.
Um zu überprüfen, ob der Benutzer die Seite mit einem mobilen Gerät oder Desktop-Zugriff auf I Benutzer die folgende Bedingung auf meiner Vorlage:
{{#if dekstop}}
{{!-- desktop structure (about 250 lines!) --}}
{{else}}
{{!-- mobile structure (about 250 lines!) --}}
{{/if}}
Die hier Problem ist, dass, weil die beiden mobilen und Desktop-Strukturen entwickelt sich viele Komponenten und HTML habe ich mit mehr als 500 Zeilen. Es ist zu groß und es wird verwirrend, diesen Code beizubehalten.
Eine Alternative, die ich sehe, ist, zwei verschiedene Vorlagen erstellen:
- Beiträge-desktop.hbs
- Beiträge-mobile.hbs
Neben:
- Controller/Beiträge-desktop.js
- Controller/Posts-Mobile Js
Und:
- Route/posts-desktop.js
- Route/posts-mobile.js
Dann auf meinen jeweiligen Steuerungen und Routen, kann ich anrufen Mixins, die alle üblichen Funktionalitäten enthalten. Auf diese Weise behalte ich die Funktionalitäten an einem Ort und kann meine Vorlagen an getrennten Stellen haben.
Zusätzliche Informationen:
- Ich bin mit Ember.js 1.11.0
Hallo, danke für die Antwort. Ich habe bereits überlegt, hier eine Medienabfrage zu verwenden. Ich benutze es tatsächlich in anderen Teilen der Anwendung, aber auf dieser Seite muss die HTML-Struktur anders sein. Obwohl die Lösung, die ich gefunden habe, richtig zu funktionieren scheint, sind meine Bedenken immer noch auf Leistung und Best Practice angewiesen. Ich glaube, dass andere Entwickler mit der gleichen Situation konfrontiert waren und ich würde gerne von den Erfahreneren hören, was unsere Möglichkeiten hier sind – iorrah