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 循环调用示例介绍
Nov 20 Javascript
关于js中for in的缺陷浅析
Dec 02 Javascript
jquery学习总结(超级详细)
Sep 04 Javascript
js控制网页背景音乐播放与停止的方法
Feb 06 Javascript
jQuery增加自定义函数的方法
Jul 18 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
Oct 19 Javascript
JQuery控制图片由中心点逐渐放大效果
Jun 26 Javascript
Vue.js组件tab实现选项卡切换
Mar 23 Javascript
vue获取当前点击的元素并传值的实例
Mar 09 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
Sep 18 Javascript
详解如何使用React Hooks请求数据并渲染
Oct 18 Javascript
微信小程序实现简单购物车功能
Dec 30 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
咖啡知识大全
2021/03/03 新手入门
PHP数据库开发知多少
2006/10/09 PHP
一周让你学会PHP 不错的学习资料
2009/02/06 PHP
php win下Socket方式发邮件类
2009/08/21 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
php 读取文件夹下所有图片、文件的实例
2018/10/17 PHP
php 多个变量指向同一个引用($b = &$a)用法分析
2019/11/13 PHP
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
javascript使用call调用微信API
2014/12/15 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
javascript显式类型转换实例分析
2015/04/25 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
简单的vuex 的使用案例笔记
2018/04/13 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
2018/08/30 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
python3.3实现乘法表示例
2014/02/07 Python
Python将xml和xsl转换为html的方法
2015/03/10 Python
python决策树之C4.5算法详解
2017/12/20 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
音乐器材管理制度
2014/01/31 职场文书
乌镇导游词
2015/02/02 职场文书
法务专员岗位职责
2015/02/14 职场文书
2015年端午节国旗下演讲稿
2015/03/19 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书