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 相关文章推荐
getElementById在任意一款浏览器中都可以用吗的疑问回复
May 13 Javascript
向大师们学习Javascript(视频与PPT)
Dec 27 Javascript
javascript实现倒计时并弹窗提示特效
Jun 05 Javascript
七夕情人节丘比特射箭小游戏
Aug 20 Javascript
express文件上传中间件Multer详解
Oct 24 Javascript
微信小程序 开发MAP(地图)实例详解
Jun 27 Javascript
通过button将form表单的数据提交到action层的实例
Sep 08 Javascript
jQuery第一次运行页面默认触发点击事件的实例
Jan 10 jQuery
微信小程序网络请求封装示例
Jul 24 Javascript
VueJS 取得 URL 参数值的方法
Jul 19 Javascript
JavaScript对象字面量和构造函数原理与用法详解
Apr 18 Javascript
详解React的回调渲染模式
Sep 10 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
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
来自PHP.NET的入门教程
2006/10/09 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
8个必备的PHP功能开发
2015/10/02 PHP
PHP正则表达式之捕获组与非捕获组
2015/11/06 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
2016/01/05 PHP
汇总PHPmailer群发Gmail的常见问题
2016/02/24 PHP
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
利用jquery操作select下拉列表框的代码
2010/06/04 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
jQuery实现的仿百度分页足迹效果代码
2015/10/30 Javascript
js捕捉键盘事件和按键键值的方法
2016/10/10 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
vue-next/runtime-core 源码阅读指南详解
2019/10/25 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
Python生成pdf文件的方法
2014/08/04 Python
python 将数据保存为excel的xls格式(实例讲解)
2018/05/03 Python
pandas.loc 选取指定列进行操作的实例
2018/05/18 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
python队列原理及实现方法示例
2019/11/27 Python
娇韵诗加拿大官网:Clarins加拿大
2017/11/20 全球购物
周年庆典邀请函范文
2014/01/24 职场文书
俄语专业职业生涯规划
2014/02/26 职场文书
小学班主任寄语大全
2014/04/04 职场文书
供货协议书范本
2014/04/22 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
2015年妇女工作总结
2015/05/14 职场文书
爱心捐赠活动简讯
2015/07/20 职场文书
简历中的自我评价应该这样写!
2019/07/12 职场文书
spring 项目实现限流方法示例
2022/07/15 Java/Android