Angular2 路由問題修復(fù)詳解
Angular2 提供了比angular1 更為強(qiáng)大的路由功能,但是在具體使用路由過程中,可是出現(xiàn)了很多路由不按照預(yù)想的方式執(zhí)行的問題。為了說明今天的問題,我特地新建了一個(gè)測(cè)試工程。歡迎交流。
首先介紹一下測(cè)試代碼的組織結(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)路由,會(huì)跳轉(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 { }
請(qǐng)注意appmodule.ts中我標(biāo)紅的引入module,如果我將accordionmodule放在buttonmodule前面,那么顯示的就是accordionmodule的內(nèi)容,反之顯示的就是buttonmodule的內(nèi)容。
執(zhí)行結(jié)果:
1.accordionmodule在buttonmodule前面
2.buttonmodule在accordionmodule前面
請(qǐng)注意,更改了順序以后,務(wù)必重新編譯,重新執(zhí)行 ng serve命令。
會(huì)什么會(huì)出現(xiàn)這個(gè)問題?歡迎大家交流。下篇我會(huì)專門解釋這個(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-11Angular 2應(yīng)用的8個(gè)主要構(gòu)造塊有哪些
這篇文章主要為大家詳細(xì)介紹了Angular 2應(yīng)用的8個(gè)主要構(gòu)造塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10angular報(bào)錯(cuò)can't resolve all parameters&nb
這篇文章主要介紹了angular報(bào)錯(cuò)can't resolve all parameters for []的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03使用 Angular RouteReuseStrategy 緩存(路由)組件的實(shí)例代碼
這篇文章主要介紹了使用 Angular RouteReuseStrategy 緩存(路由)組件的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11對(duì)angularJs中controller控制器scope父子集作用域的實(shí)例講解
今天小編就為大家分享一篇對(duì)angularJs中controller控制器scope父子集作用域的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10AngularJS實(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針對(duì)表單事件監(jiān)聽相關(guān)操作技巧,需要的朋友可以參考下2017-10-10Angular使用ControlValueAccessor創(chuàng)建自定義表單控件
這篇文章主要介紹了Angular使用ControlValueAccessor創(chuàng)建自定義表單控件,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03angularjs 動(dòng)態(tài)從后臺(tái)獲取下拉框的值方法
今天小編就為大家分享一篇angularjs 動(dòng)態(tài)從后臺(tái)獲取下拉框的值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08