Angular2 路由问题修复详解


Posted in Javascript onMarch 01, 2017

Angular2 提供了比angular1 更为强大的路由功能,但是在具体使用路由过程中,可是出现了很多路由不按照预想的方式执行的问题。为了说明今天的问题,我特地新建了一个测试工程。欢迎交流。

首先介绍一下测试代码的组织结构,

Angular2 路由问题修复详解

其中包含两个组件: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前面

Angular2 路由问题修复详解

2.buttonmodule在accordionmodule前面

Angular2 路由问题修复详解

请注意,更改了顺序以后,务必重新编译,重新执行 ng serve命令。

会什么会出现这个问题?欢迎大家交流。下篇我会专门解释这个问题的答案

Javascript 相关文章推荐
JavaScript DOM 学习第九章 选取范围的介绍
Feb 19 Javascript
Jquery 扩展方法
May 06 Javascript
JS去掉第一个字符和最后一个字符的实现代码
Feb 20 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
Apr 16 Javascript
javascript针对cookie的基本操作实例详解
Nov 30 Javascript
不用一句js代码初始化组件
Jan 27 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
Nov 07 Javascript
AugularJS从入门到实践(必看篇)
Jul 10 Javascript
JavaScript requestAnimationFrame动画详解
Sep 14 Javascript
Vue调试神器vue-devtools安装方法
Dec 12 Javascript
Vue表单之v-model绑定下拉列表功能
May 14 Javascript
在vue中配置不同的代理同时访问不同的后台操作
Sep 11 Javascript
浅谈js for循环输出i为同一值的问题
Mar 01 #Javascript
jQuery EasyUI Draggable拖动组件
Mar 01 #Javascript
Angular.js之作用域scope'@','=','&'实例详解
Feb 28 #Javascript
jQuery EasyUI ProgressBar进度条组件
Feb 28 #Javascript
jQuery实现ajax无刷新分页页码控件
Feb 28 #Javascript
jQuery EasyUI Panel面板组件使用详解
Feb 28 #Javascript
AngularJS constant和value区别详解
Feb 28 #Javascript
You might like
php仿discuz分页效果代码
2008/10/02 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
Thinkphp集成抖音SDK的实现方法
2020/04/28 PHP
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
JavaScript callback回调函数用法实例分析
2018/05/08 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
微信小程序实现横向滚动导航栏效果
2019/12/12 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
详解Python编程中基本的数学计算使用
2016/02/04 Python
Python常见字典内建函数用法示例
2018/05/14 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
Python实现重建二叉树的三种方法详解
2018/06/23 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
python实现计算图形面积
2021/02/22 Python
瑞士隐形眼镜和护理产品网上商店:Linsenklick
2019/10/21 全球购物
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
文明礼仪小标兵事迹
2014/01/12 职场文书
家长给孩子的表扬信
2014/01/17 职场文书
超市中秋节促销方案
2014/03/21 职场文书
《故都的秋》教学反思
2014/04/15 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
岳麓书院导游词
2015/02/03 职场文书
详解python的内存分配机制
2021/05/10 Python
mysql联合索引的使用规则
2021/06/23 MySQL
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang