Angular2 路由問題修復(fù)詳解
Angular2 提供了比angular1 更為強(qiáng)大的路由功能,但是在具體使用路由過程中,可是出現(xiàn)了很多路由不按照預(yù)想的方式執(zhí)行的問題。為了說明今天的問題,我特地新建了一個(gè)測試工程。歡迎交流。
首先介紹一下測試代碼的組織結(jié)構(gòu),

其中包含兩個(gè)組件:button、accordion。這個(gè)例子采用的是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',
}
];
這段路由中我定義了默認(rèn)路由,會跳轉(zhuǎn)到button,但是我采用最新的angular-cli,并沒有進(jìn)行跳轉(zhuǎn),并且默認(rèn)路由并沒有使用layoutcomponent組件,這是最大的問題,因?yàn)閘ayoutcomponent組件是整個(gè)頁面的樣式文件。
目前的結(jié)果什么呢?
我展示一下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中我標(biāo)紅的引入module,如果我將accordionmodule放在buttonmodule前面,那么顯示的就是accordionmodule的內(nèi)容,反之顯示的就是buttonmodule的內(nèi)容。
執(zhí)行結(jié)果:
1.accordionmodule在buttonmodule前面

2.buttonmodule在accordionmodule前面

請注意,更改了順序以后,務(wù)必重新編譯,重新執(zhí)行 ng serve命令。
會什么會出現(xiàn)這個(gè)問題?歡迎大家交流。下篇我會專門解釋這個(gè)問題的答案
相關(guān)文章
AngularJS遞歸指令實(shí)現(xiàn)Tree View效果示例
這篇文章主要介紹了AngularJS遞歸指令實(shí)現(xiàn)Tree View效果,結(jié)合實(shí)例形式分析了AngularJS基于遞歸指令實(shí)現(xiàn)樹形結(jié)構(gòu)層次數(shù)據(jù)的相關(guān)操作步驟與注意事項(xiàng),需要的朋友可以參考下2016-11-11
Angular 2應(yīng)用的8個(gè)主要構(gòu)造塊有哪些
這篇文章主要為大家詳細(xì)介紹了Angular 2應(yīng)用的8個(gè)主要構(gòu)造塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
angular報(bào)錯(cuò)can't resolve all parameters&nb
這篇文章主要介紹了angular報(bào)錯(cuò)can't resolve all parameters for []的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
使用 Angular RouteReuseStrategy 緩存(路由)組件的實(shí)例代碼
這篇文章主要介紹了使用 Angular RouteReuseStrategy 緩存(路由)組件的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
對angularJs中controller控制器scope父子集作用域的實(shí)例講解
今天小編就為大家分享一篇對angularJs中controller控制器scope父子集作用域的實(shí)例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
AngularJS實(shí)現(xiàn)的獲取焦點(diǎn)及失去焦點(diǎn)時(shí)的表單驗(yàn)證功能示例
這篇文章主要介紹了AngularJS實(shí)現(xiàn)的獲取焦點(diǎn)及失去焦點(diǎn)時(shí)的表單驗(yàn)證功能,涉及AngularJS使用ng-blur、ng-focus針對表單事件監(jiān)聽相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
Angular使用ControlValueAccessor創(chuàng)建自定義表單控件
這篇文章主要介紹了Angular使用ControlValueAccessor創(chuàng)建自定義表單控件,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03
angularjs 動(dòng)態(tài)從后臺獲取下拉框的值方法
今天小編就為大家分享一篇angularjs 動(dòng)態(tài)從后臺獲取下拉框的值方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08

