2016-08-08 30 views
1

Aureliaの機能を使用してユーザーを管理するための「ユーザー」機能を作成したいとしましょう。さまざまなクラッシュ操作のビューが異なります。読み取り更新の作成のためのルーティングをどのように整理すればよいですか?この機能では完了ですか?それはアプリで行われますか?それらのいくつかの組み合わせ?例を挙げてください。Aureliaの機能とルーティングはどのように機能しますか?

答えて

0

単純にルートを機能に追加するだけではありません。

しかし、より大きなアプリケーションを構築する場合は、依存性注入コンテナを使用してアプリケーションに「ルート」オブジェクトを公開することができます。この機能は、活用と拡張が可能です。

main.js

import { MyRouteConfig } from 'myRouteConfig'; 

@inject(MyRouteConfig) 
export class App { 

    constructor(config) { 
     this.routes = config.routes; 
    } 

    configureRouter(config, router) { 
     config.map(this.routes); 
    } 
} 

機能はアウレリアオブジェクトが渡されconfigure機能を通して引っ張られます。 AureliaオブジェクトのDIコンテナを使用して、MyRouteConfigオブジェクトのインスタンスを取得できます。

機能/ index.js

import { MyRouteConfig } from '../myRouteConfig'; 

export function configure(aurelia) { 

    let config = aurelia.container.get(MyRouteConfig); 
    Array.prototype.push.apply(config.routes, [ 
     { route: 'feature', moduleId: 'feature/home' }, 
     { route: 'feature/edit', moduleId: 'feature/edit' } 
    ]) 
} 

しかし、これは、すべてののベストプラクティスではありません。それはせいぜいツールの巧みな使い方であり、最悪の場合はハックです。このアプローチには、正確なモジュールパスと重複するルートのロードの難しさを含む多くの落とし穴があります。実際に自分が何をしているのか分かっている場合にのみ、この戦略を使用してください。それはできた、と言われた。

+0

推奨される方法は何ですか?私は、機能ではないサブディレクトリにルートがあるので、混乱していると思う。しかし、私はそれらの機能を作って、ルーティングの観点からその機能をどのように処理するかを考えようと考えています。 – xenoterracide

+0

ルートがある場合、これはアプリケーションの不可欠な部分です。機能はモジュール化されたローカルプラグインのようなものです。アプリケーションの不可欠な部分に機能を使用しないでください。 –

+0

この回答があなたを助けた場合は、アップしてください。あなたの質問に答えた場合は同意してください。 –

関連する問題