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 相关文章推荐
在JS中解析HTML字符串示例代码
Apr 16 Javascript
JavaScript利用正则表达式去除日期中的-
Jun 09 Javascript
jQuery中nextUntil()方法用法实例
Jan 07 Javascript
Bootstrap每天必学之按钮
Nov 26 Javascript
javascript精确统计网站访问量实例代码
Dec 19 Javascript
jQuery延迟执行的实现方法
Dec 21 Javascript
Vue.js系列之vue-router(上)(3)
Jan 03 Javascript
js上下视差滚动简单实现代码
Mar 07 Javascript
vue实现歌手列表字母排序下拉滚动条侧栏排序实时更新
May 14 Javascript
vue如何实现自定义底部菜单栏
Jul 01 Javascript
javascript实现评分功能
Jun 24 Javascript
微信小程序仿抖音短视频切换效果的实例代码
Jun 24 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中利用XML技术构造远程服务(下)
2006/10/09 PHP
PHP 面向对象 PHP5 中的常量
2010/05/05 PHP
PHP中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
php判断两个浮点数是否相等的方法
2015/03/14 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
2013/10/11 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
jQuery 无刷新分页实例代码
2013/11/12 Javascript
让alert不出现弹窗的两种方法
2014/05/18 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
Angular 开发学习之Angular CLI的安装使用
2017/12/31 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
python安装oracle扩展及数据库连接方法
2017/02/21 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
python构建指数平滑预测模型示例
2019/11/21 Python
python装饰器原理与用法深入详解
2019/12/19 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
Python之Matplotlib文字与注释的使用方法
2020/06/18 Python
python实现数字炸弹游戏程序
2020/07/17 Python
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
应届生求职推荐信
2013/10/28 职场文书
八年级历史教学反思
2014/01/10 职场文书
建议书怎么写
2014/03/12 职场文书
经典团队口号
2014/06/06 职场文书
城管个人总结
2015/02/28 职场文书
写给同事的离职感言
2015/08/04 职场文书
《开国大典》教学反思
2016/02/16 职场文书
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL
MYSQL如何查看进程和kill进程
2022/03/13 MySQL
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技