2017-04-12 4 views
2

Nicht lange her höre ich über glimmer und beschließen, es auszuprobieren.Setup und Initialize Route in Glimmer js

Jetzt versuche ich bereits, ihr Tutorial zu tun und zu sehen, die Todo-Mvc, die Glimmer bereits erstellen, aber es scheint, dass sie navigo verwenden, um durch die Seite zu navigieren.

Ich möchte wissen, ob es eine ordnungsgemäße Möglichkeit zum Einrichten der Route gibt, da ich zuvor ember.js verwendet habe und zum Einrichten der Route muss ich nur eine weitere Route bei router.js hinzufügen.

Da navigo verwenden jetzt verwende ich Code wie folgt durch Routen navigieren

component.ts

import Component, { tracked } from '@glimmer/component'; 
import Navigo from 'navigo'; 

const router = new Navigo(null, true); 

export default class MainPage extends Component { 
    @tracked routeName; 

    constructor(options){ 
     super(options); 

     router 
     .on({ 
      '/':() => { this.routeName = 'home'; }, 
      '/posts':() => { this.routeName = 'postList'; } 
     }) 
     .resolve(); 
    } 
}; 

template.hbs

<div> 
    <a href="#/posts"><button>See All Posts</button></a> 

    {{#if (eq routeName 'postList')}} 
     <post-list /> 
    {{/if}} 
    {{#if (eq routeName '404')}} 
     <h1>PAGE NOT FOUND</h1> 
    {{/if}} 
</div> 

Above Code funktioniert, aber es mich brauchen # nach der Domain haben. Ich denke, man muss einen anderen Weg finden oder vielleicht einen besseren Weg als diesen.

+3

Glimmer hat keinen Router. Wenn Sie einen Router benötigen, würde ich empfehlen, Glut zu verwenden. Im Grunde ist Glut Glimmer + Router + andere Leckereien. Das Endziel ist, dass Sie nur die Teile installieren, die Sie brauchen, und dann den Glimmer + Ember-Router ohne andere Ember-Funktionen verwenden, aber das ist noch nicht möglich. – Lux

+0

Ich weiß nicht, dass der Ember-Cli eine Möglichkeit hat, Add-Ons reinzuwerfen, da er sie in Ember einbindet, nicht Glimmer als Stand-Alone, aber ich mag die Frage @Dio. Ich denke, es ist eine natürliche Frage zu stellen und hoffentlich in 6 Monaten gibt es einen Weg, um es zu beantworten, mit der bestehenden Pipeline von Tildeio Glimmer zusammenkleben mit https://github.com/tildeio/router.js/ –

Antwort

1

Die aktuelle Antwort auf Ihre Frage ist, dass Glimmer kein solches Konzept wie Routen hat. In Zukunft sollten Sie in der Lage sein, Teile von Ember zu installieren - wie zB Ember-Routing zu Ihrer Glimmer-App.

Grundsätzlich wird es wie folgt funktionieren:

Glimmer Anwendung -> Installieren aller Ember Pakete = Ember Anwendung.

Oder:

Glimmer Anwendung -> Installation nur wenige Ember Pakete = Glimmer + Teile von Ember wie Routing.

+0

Dies sollte sei die akzeptierte Antwort. Dies wird in der Eröffnungsrede dieses Jahr auf der Emberconf weiter erläutert: https://www.youtube.com/watch?v=TEuY4GqwrUE –