1
比方說,我想要使用Aurelia的功能...功能,以創建一個「用戶」功能來管理用戶,並且對於各種粗暴操作我有不同的看法。如何組織創建讀取更新刪除的路由?在功能中完成了嗎?它是在應用程序中完成的?它們的一些組合?請舉個例子。路由如何與Aurelia中的功能配合使用?
比方說,我想要使用Aurelia的功能...功能,以創建一個「用戶」功能來管理用戶,並且對於各種粗暴操作我有不同的看法。如何組織創建讀取更新刪除的路由?在功能中完成了嗎?它是在應用程序中完成的?它們的一些組合?請舉個例子。路由如何與Aurelia中的功能配合使用?
一個不會簡單地添加路由通過一個功能。但是,如果您正在構建更大的應用程序,則可以使用依賴注入容器嚮應用程序公開一個「路由」對象,這些對象可以使用和擴展。
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' }
])
}
然而,這是不是在所有的最佳做法。最好是巧妙地使用這些工具,並且最好是一種黑客攻擊。這種方法存在很多缺陷,包括難以載入正確的模塊路徑和重疊路線,如果您真的知道自己在做什麼,則只應使用該策略。這就是說,它可以完成。
推薦的方法是什麼?我覺得我很困惑,因爲我有路由到一個不是功能的子目錄。但我正在考慮製作這些功能,並試圖從路由角度弄清楚如何使用這些功能。 – xenoterracide
如果有路由,比這可能是您的應用程序的組成部分。功能就像小本地插件,模塊化。請勿將功能用於應用程序的組成部分。 –
如果這個答案對你有幫助,請注意upvote,如果它回答了你的問題,請接受。 –