- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
在 Angular 应用程序中实现子路由的演示应用程序
Angular 2 应用程序显示错误
Error: Uncaught (in promise): Error: Cannot match any routes: 'movie-home'
zone.js:461 Unhandled Promise rejection: Cannot match any routes: 'movie-home' ; Zone: angular ; Task: Promise.then ; Value: Error: Cannot match any routes: 'movie-home'(…)
如果我不从文件 movie.routes.ts 添加这些代码行,应用程序工作正常
{
path:'movie-home',
component:HomeComponent,
//Remove this block of code- Start
children:[
{path : 'animation' , component:AnimationComponent},
{path : 'action' , component:ActionComponent}
]**
//Remove this block of code.- End
}
我已经在 GITHUB 上推送了代码
克隆 -- https://github.com/Sandeep3005/Angular101.git
查看 -- https://github.com/Sandeep3005/Angular101
文件结构为
应用
|--app.component.ts
|--app.routes.ts
|--main.ts
|--电影中心
|--home.component.ts
|--movie.routes.ts
|-- Action
|--action.component.ts
|--动画
|--animation.component.ts
文件如下
app.component.ts
import {Component} from '@angular/core';
import { ROUTER_DIRECTIVES } from '@angular/router';
@Component({
selector: 'my-app',
template: `
<router-outlet></router-outlet>
`,
directives: [ROUTER_DIRECTIVES]
})
export class AppComponent { }
app.routes.ts
import { provideRouter, RouterConfig } from '@angular/router';
import { MovieRoutes } from './MovieCenter/movie.routes';
export const routes: RouterConfig = [
...MovieRoutes,
];
export const APP_ROUTER_PROVIDERS = [
provideRouter(routes),
];
main.ts
import {bootstrap} from '@angular/platform-browser-dynamic';
import {AppComponent} from './app.component';
import { APP_ROUTER_PROVIDERS } from './app.routes';
bootstrap(AppComponent,[
APP_ROUTER_PROVIDERS
])
.catch(err => console.error(err));
MovieCenter/home.component.ts
import { Component } from '@angular/core';
import { ROUTER_DIRECTIVES } from '@angular/router';
@Component({
template:`
<div class="col-md-3" style="background:#8FDF98;height:100%">
<br><br><br>
<a [routerLink]="['/movie-home']" >Home Component</a><br>
<a [routerLink]="['/animation']" >Animation Component</a><br>
<a [routerLink]="['/action']" >Action Component</a>
</div>
<div class="col-md-9">
Child Component Display Section
<hr>
<router-outlet></router-outlet>
</div>
`,
directives:[ROUTER_DIRECTIVES]
})
export class HomeComponent{
}
MovieCenter/movie.routes.ts
import { RouterConfig } from '@angular/router';
import { HomeComponent } from './home.component';
import { AnimationComponent } from './Animation/animation.component';
import { ActionComponent } from './Action/action.component';
export const MovieRoutes: RouterConfig = [
{
path : '',
redirectTo:'/movie-home',
pathMatch : 'full'
},
{
path:'movie-home',
component:HomeComponent,
children:[
{path : 'animation' , component:AnimationComponent},
{path : 'action' , component:ActionComponent}
]
}
]
还有其他文件
MovieCenter/Action/action.component.tsMovieCenter/Animation/animation.component.ts
这两个文件都是一个简单的组件,模板显示组件的名称
模板: Action 组件
最佳答案
当你的路由配置设置如下时
{
path:'movie-home',
component:HomeComponent
}
Angular 只解释一条路径,即 movie-home
,因此一切正常
现在,当您将配置更改为此
{
path:'movie-home',
component:HomeComponent,
children:[
{path : 'animation' , component:AnimationComponent},
{path : 'action' , component:ActionComponent}
]
}
Angular 现在只知道两条路线,即。 movie-home/animation
和“movie-home/action”。没有 movie-home
路线,因为您在 child 中没有无路径路线。以下配置应该可以解决您的问题
{
path:'movie-home',
children:[
{path : '' , component:HomeComponent},
{path : 'animation' , component:AnimationComponent},
{path : 'action' , component:ActionComponent}
]
}
当 router v3 发布时,请确保您使用的是 beta.2 或更高版本
有关详细信息,请参阅 http://victorsavkin.com/post/146722301646/angular-router-empty-paths-componentless-routes
关于javascript - 错误 : Uncaught (in promise): Error: Cannot match any routes RC4 Child Routes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38270702/
您好,如果没有身份验证,我尝试保护路由,但它不起作用 警告:您不应在同一个 route 使用路线组件和路线渲染;路线渲染将被忽略 App.js import React, { Fragment,
几乎我见过的每个示例,app.js 都使用 require 和路径 ./。我想知道为什么我们不能只使用 /。例如,为什么我们不能执行以下操作。 var express = require('expre
如果router.all()只匹配所有方法,是否可以用router.use()代替?router.use() 和 router.route() 之间有什么区别? 最佳答案 router.all:这意味
在我的 Symfony应用程序我想根据当前用户的文化选择 routing.yml; 'en' => routing.en.yml 'no' => routing.no.yml 等等。 关于如何做到这一
我正在使用 React Router v6 并为我的应用程序创建私有(private)路由。 在文件 PrivateRoute.js 中,我有代码 import React from 'react';
这个问题在这里已经有了答案: Error "Error: A is only ever to be used as the child of element" (14 个回答) Error: [P
我正在关注 Ember Quick Start guide (ember-cli v 2.11),并按照说明构建玩具应用程序。在“定义路线”部分,说明说要运行命令 ember generate rou
这个问题在这里已经有了答案: ReactJS: [Home] is not a component. All component children of must be a or (5 个答
这个问题在这里已经有了答案: ReactJS: [Home] is not a component. All component children of must be a or (5 个答
单击“开始测验”按钮时,我试图导航到“/quiz”。 但是,当我编译我的代码时,我在网站应用程序上收到以下错误:[Home] is not a component. All component ch
我有一点咸菜。我正在使用路由保护(实现 CanActivate 接口(interface))来检查用户是否被授予访问特定路由的权限: const routes: Routes = [ {
我正在尝试测试我的应用程序正在使用的引擎内部的 Controller 。规范不在引擎中,而是在应用程序本身中(我试图在引擎中进行测试,但也遇到了问题)。 我的引擎有以下 routes.rb: Revi
我是Remix的新手,我正在尝试使用V2路由方法实现特定的路由解决方案。。这是一个人为的例子,不是真实的东西,只是为了说明这一点。。我想要的URL方案是:。我从以下几条路线开始:。App/routes
我正在尝试从 rails 2.3.x(使用 subdomain_routes 插件)转换一些子域路由,如下所示: map.subdomain :biz do |biz| biz.resources
我将 Symfony 的 3.1 路由组件用作独立组件。 我想调试路由。 据此: http://symfony.com/doc/current/routing/debug.html 这是通过运行以下命
我是 Sparkjava 的新手,总体上喜欢它。但是,是否必须在 main 方法中定义新的路由/端点?对于任何重要的 Web 应用程序,这将导致一个非常长的 main 方法,或者我需要有多个 main
我刚刚使用node.js 和express.js 开发了一个原型(prototype)。在这里,我使用了 Express 路由来对后端进行 CRUD。 server.js 文件: app.get('/
我不明白 Angular 4 中路由的一些基本概念。 index.html: 文件结构: - app |- app.routings.ts |- collections |-- collection
我在反应路线和理解合成路线方面遇到了一些困难。我尝试了一些代码,但不幸的是,它不能像预期的那样工作。“/”路径运行得很好,但是,当我尝试访问“/Child”时,它似乎不起作用。我认为包装器路由}/>可
我正在尝试使用 cakephp 3 实现 REST api。 为了给我的问题提供一个易于重现的示例,我从全新安装 cakephp 3.1.11 开始。 在 config/routes.php 中,我添
我是一名优秀的程序员,十分优秀!