[英]Angular 2 RC Optional Routing Parameters
我嘗試在角度2 RC中實現此路線
例:
/search/[:category/][:subcategory/][:brand/][:page/]?limit=15&sort=price
我怎樣才能做到這一點? 我可以使用查詢參數,但URL是“丑陋的”。 否則,如果我使用查詢參數,有一種方法可以重寫網址? 用PHP很簡單,我正在研究角度2 :)
我試圖在另一個組件中這樣做,但不起作用, name: 'message'
有錯誤
@Routes([
{path:'/', component: ListMessagesComponent },
{path:'/:id/', component: MessageComponent, name: 'message'},
{path:'/:id/:sort/', component: MessageComponent, name: 'message-sorted'}
])
控制台日志:for / messages / 1 / desc / (這沒有任何意義)
Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode.
platform-browser.umd.js:971EXCEPTION: Error: Uncaught (in promise): Cannot match any routes. Current segment: '1'. Available routes: ['/', '/:id/', '/:id/:sort/'].
platform-browser.umd.js:962EXCEPTION: Error: Uncaught (in promise): Cannot match any routes. Current segment: '1'. Available routes: ['/', '/:id/', '/:id/:sort/'].BrowserDomAdapter.logError @ platform-browser.umd.js:962BrowserDomAdapter.logGroup @ platform-browser.umd.js:972ExceptionHandler.call @ core.umd.js:3696(anonymous function) @ core.umd.js:8951schedulerFn @ core.umd.js:6007SafeSubscriber.__tryOrUnsub @ Subscriber.ts:240SafeSubscriber.next @ Subscriber.ts:192Subscriber._next @ Subscriber.ts:133Subscriber.next @ Subscriber.ts:93Subject._finalNext @ Subject.ts:154Subject._next @ Subject.ts:144Subject.next @ Subject.ts:90EventEmitter.emit @ core.umd.js:5996onError @ core.umd.js:6227onHandleError @ core.umd.js:6096ZoneDelegate.handleError @ zone.js:327Zone.runGuarded @ zone.js:233_loop_1 @ zone.js:487drainMicroTaskQueue @ zone.js:494ZoneTask.invoke @ zone.js:426
platform-browser.umd.js:962STACKTRACE:BrowserDomAdapter.logError @ platform-browser.umd.js:962ExceptionHandler.call @ core.umd.js:3698(anonymous function) @ core.umd.js:8951schedulerFn @ core.umd.js:6007SafeSubscriber.__tryOrUnsub @ Subscriber.ts:240SafeSubscriber.next @ Subscriber.ts:192Subscriber._next @ Subscriber.ts:133Subscriber.next @ Subscriber.ts:93Subject._finalNext @ Subject.ts:154Subject._next @ Subject.ts:144Subject.next @ Subject.ts:90EventEmitter.emit @ core.umd.js:5996onError @ core.umd.js:6227onHandleError @ core.umd.js:6096ZoneDelegate.handleError @ zone.js:327Zone.runGuarded @ zone.js:233_loop_1 @ zone.js:487drainMicroTaskQueue @ zone.js:494ZoneTask.invoke @ zone.js:426
platform-browser.umd.js:962Error: Uncaught (in promise): Cannot match any routes. Current segment: '1'. Available routes: ['/', '/:id/', '/:id/:sort/'].
at resolvePromise (zone.js:538)
at resolvePromise (zone.js:523)
at zone.js:571
at ZoneDelegate.invokeTask (zone.js:356)
at Object.onInvokeTask (core.umd.js:6066)
at ZoneDelegate.invokeTask (zone.js:355)
at Zone.runTask (zone.js:256)
at drainMicroTaskQueue (zone.js:474)
at XMLHttpRequest.ZoneTask.invoke (zone.js:426)BrowserDomAdapter.logError @ platform-browser.umd.js:962ExceptionHandler.call @ core.umd.js:3699(anonymous function) @ core.umd.js:8951schedulerFn @ core.umd.js:6007SafeSubscriber.__tryOrUnsub @ Subscriber.ts:240SafeSubscriber.next @ Subscriber.ts:192Subscriber._next @ Subscriber.ts:133Subscriber.next @ Subscriber.ts:93Subject._finalNext @ Subject.ts:154Subject._next @ Subject.ts:144Subject.next @ Subject.ts:90EventEmitter.emit @ core.umd.js:5996onError @ core.umd.js:6227onHandleError @ core.umd.js:6096ZoneDelegate.handleError @ zone.js:327Zone.runGuarded @ zone.js:233_loop_1 @ zone.js:487drainMicroTaskQueue @ zone.js:494ZoneTask.invoke @ zone.js:426
zone.js:461 Unhandled Promise rejection: Cannot match any routes. Current segment: '1'. Available routes: ['/', '/:id/', '/:id/:sort/']. ; Zone: angular ; Task: Promise.then ; Value: BaseException {message: "Cannot match any routes. Current segment: '1'. Available routes: ['/', '/:id/', '/:id/:sort/'].", stack: "Error: Cannot match any routes. Current segment: '…st:3000/node_modules/zone.js/dist/zone.js:322:35)"}consoleError @ zone.js:461_loop_1 @ zone.js:490drainMicroTaskQueue @ zone.js:494ZoneTask.invoke @ zone.js:426
zone.js:463 Error: Uncaught (in promise): Cannot match any routes. Current segment: '1'. Available routes: ['/', '/:id/', '/:id/:sort/'].(…)
新路由器目前要求首先訂購更具體的路由,最后訂購更少的特定路由
@Routes([
{path:'/:id/:sort/', component: MessageComponent}
{path:'/:id/', component: MessageComponent},
{path:'/', component: ListMessagesComponent },
])
新路由器中的name
不再存在。
我不確定支持只有參數不同的路由(還)
{path:'/:id/:sort/', component: MessageComponent}
{path:'/:id/', component: MessageComponent},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.