2

不久前,我听说了微光并决定尝试一下。

现在我已经尝试完成他们的教程并查看 glimmer 已经创建的 todo-mvc,但似乎他们使用navigo来浏览页面。

我想知道是否有任何正确的方法来设置路由,因为以前我使用 ember.js 并且设置路由我只需要在 router.js 添加另一个路由。

因为现在使用 navigo,所以我使用这样的代码来导航路线

组件.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();
    }
};

模板.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>

上面的代码可以正常工作,但它需要我在域后面加上#。我认为需要找到另一种方式,或者可能比这种方式更合适。

4

1 回答 1

2

您问题的当前答案是 Glimmer 没有路线这样的概念。将来,您应该能够安装 Ember 的一部分——例如将 Ember 路由到您的 Glimmer 应用程序。

基本上,它将像这样工作:

Glimmer 应用程序 -> 安装所有 Ember 包 = Ember 应用程序。

或者:

Glimmer 应用程序 -> 仅安装几个 Ember 包 = Glimmer + 来自 Ember 的部分,例如路由。

于 2017-07-18T20:41:32.737 回答