Angular2 提供了比angular1 更为强大的路由功能,但是在具体使用路由过程中,可是出现了很多路由不按照预想的方式执行的问题。为了说明今天的问题,我特地新建了一个测试工程。欢迎交流。
首先介绍一下测试代码的组织结构,
其中包含两个组件:button、accordion。这个例子采用的是ng2-bootstrap.
我展示一下路由配置:
代码如下 | 复制代码 |
/** * Created by guozhiqi on 2017/2/24. */ import {Route,Routes}from'@angular/router' import {AppComponent}from'./app.component' import {LayoutComponent}from'./layout/layout.component'
export const routes:Routes=[ { path:'', redirectTo:'button', pathMatch:'full' }, { path:'', component:LayoutComponent, children:[ { path:'button', loadChildren:'./Button/Button-guo.module#ButtonGuoModule' }, { path:'accordion', loadChildren:'./accordionguo/accordion-guo.module#AccordionGuoModule' } ] }, { path:'**', redirectTo:'button', } ]; |
这段路由中我定义了默认路由,会跳转到button,但是我采用最新的angular-cli,并没有进行跳转,并且默认路由并没有使用layoutcomponent组件,这是最大的问题,因为layoutcomponent组件是整个页面的样式文件。
目前的结果什么呢?
我展示一下appmodule.ts代码:
代码如下 | 复制代码 |
import { BrowserModule } from'@angular/platform-browser' import { NgModule } from'@angular/core' import { FormsModule } from'@angular/forms' import { HttpModule } from'@angular/http' import {ButtonGuoModule}from'./button/button-guo.module' import { AppComponent } from'./app.component' import {ButtonsModule}from'ng2-bootstrap/buttons' import {routes}from'./app.routing' import {RouterModule}from'@angular/router' import {CommonModule}from'@angular/common' import {AccordionGuoModule}from'./accordionGuo/accordion-guo.module' import {LayoutComponent}from'./layout/layout.component' @NgModule({ declarations: [ AppComponent,LayoutComponent ], imports: [RouterModule.forRoot(routes),AccordionGuoModule, BrowserModule,RouterModule,CommonModule, FormsModule,ButtonGuoModule, HttpModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } |
请注意appmodule.ts中我标红的引入module,如果我将accordionmodule放在buttonmodule前面,那么显示的就是accordionmodule的内容,反之显示的就是buttonmodule的内容。
执行结果:
1.accordionmodule在buttonmodule前面
2.buttonmodule在accordionmodule前面
请注意,更改了顺序以后,务必重新编译,重新执行 ng serve命令。
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级