angular2中的Module和Routes

CLI tool for Angular

https://github.com/angular/angular-cli#generating-components-directives-pipes-and-services

感谢angular-cli ,  以前我都是自己来回cp文件的

如果无法安装成功,请淘宝 梅林固件 , 来解决翻墙问题

创建和运行

ng new PROJECT_NAME
cd PROJECT_NAME
ng serve

指定IP和端口

ng serve --host 0.0.0.0 --port 4201

项目快速构造的命令

基本用法如下

ScaffoldUsage
Componentng g component my-new-component
Directiveng g directive my-new-directive
Pipeng g pipe my-new-pipe
Serviceng g service my-new-service
Classng g class my-new-class
Interfaceng g interface my-new-interface
Enumng g enum my-new-enum
Moduleng g module my-module

 初始话项目结构

 
 //创建两个module
 ng g module home
 
 ng g m admin //m  是module的简写,其它也是类似的

//在分别创建两个Component
 ng g c home/main    
 ng g c home/persons

 ng g c admin/login
 ng g c admin/main

一个是前台,一个是后台,前台有个首页和个人中心,后台有个登陆界面和首页

再次感谢angular-cli,可以看到app下的两个*.module.ts文件中自动写入了新加的component

但是这个时候看是没有变化的,页面还是那个app works!

整个项目中现在有三个module.ts文件

下面要用Routes,有三点比较重要

1 在文件app.component.html添加

<router-outlet></router-outlet>

2

/app/app.module.ts  注意加载appRoutes用的是forRoot

import { HomeModule } from './home/home.module';
import { AdminModule } from './admin/admin.module';

import { appRoutes } from './app.routes';
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    RouterModule,
    RouterModule.forRoot(appRoutes),
    AdminModule,
    HomeModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }



/app/app.routes.ts  注意这里是loadChildren来加载module

export const appRoutes=[

    {
        path:'home',
        loadChildren:'./home/home.module#HomeModule'
    },

    {
        path:'admin',
        loadChildren:'./admin/admin.module#AdminModule'
    }
]



/app/home/home.module.ts  注意这里是注意加载homeRoutes用的是forChild

import { homeRoutes } from './home.routes';
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MainComponent } from './main/main.component';
import { PersonsComponent } from './persons/persons.component';
import { RouterModule } from '@angular/router';
@NgModule({
  imports: [
    CommonModule,
    RouterModule,
    RouterModule.forChild(homeRoutes)
  ],
  declarations: [MainComponent, PersonsComponent]
})
export class HomeModule { }

/app/home/home.routes.ts  注意这里是component来加载Component

import { MainComponent } from './main/main.component';
import { PersonsComponent } from './persons/persons.component';

export const homeRoutes=[
    {
        path:'main',
        component:MainComponent
    },

    {
        path:'persons',
        component:PersonsComponent
    }
]

admin部分和home相似

到这里之后可以修改url访问看看了,

http://localhost:4200/home/main

http://localhost:4200/home/persons

 

代码

https://git.oschina.net/TimeIsGoOn/angular2-learn/tree/ng-Module-routes/

相关资料

angular.cn 路由相关  https://angular.cn/docs/ts/latest/guide/router.html

大漠老师的教程:http://www.jianshu.com/p/9af9f203e0b1

简书上的教程:https://my.oschina.net/mumu/blog/834254

转载于:https://my.oschina.net/newBear/blog/850733

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值