当前位置: 首页 > news >正文

网站建设交易平台/灰色词首页排名接单

网站建设交易平台,灰色词首页排名接单,搜索网站建设推广优化,响应式门户网站官网学习angular2笔记 怎么说呢,之前一直不想学angular2,因为之前学了ag1,听同事说2改变挺大的要完全重学,再加上之前学了vue感觉确实很好用,就没打算学ag2但是现在要自己重构项目,也就厚着脸皮学了。这应…

官网学习angular2笔记

怎么说呢,之前一直不想学angular2,因为之前学了ag1,听同事说2改变挺大的要完全重学,再加上之前学了vue感觉确实很好用,就没打算学ag2但是现在要自己重构项目,也就厚着脸皮学了。这应该是学习的第四天。开始跟着英雄教程走,越接触越觉得和vue还是有很多共同点的


言归正传:这里主要记录路由

1、引入路由之前要确定在index.html里面有设置根路径

<base href="/">

2、在根模块中引入router模块


import { RouterModule, Routes } from '@angular/router';

3、配置

const appRoutes: Routes = [
  //:id是一个路由参数的令牌(Token)
  { path: 'crisis-center', component: CrisisListComponent },
  { path: 'hero/:id',      component: HeroDetailComponent },
  {
    path: 'heroes',
    component: HeroListComponent,
    data: { title: 'Heroes List' }
    //data属性用来存放于每个具体路由有关的任意信息。该数据可以被任何一个激活路由访问,并能用来保存诸如 页标题、面包屑以及其它静态只读数据
  },
  { path: '',//空的一般指代默认路径
    redirectTo: '/heroes',
    pathMatch: 'full'
  },
  { path: '**', component: PageNotFoundComponent }
  //**路径是一个通配符 一般用做404的输出
];

@NgModule({
  imports: [
    RouterModule.forRoot(appRoutes)
    // other imports here 这里对应上面的常量
  ],
  ...
})
export class AppModule { }

路由器使用先匹配者优先的策略来选择路由。 通配符路由是路由配置中最没有特定性的那个,因此务必确保它是配置中的最后一个路由。

懒加载,当点击或者是触发某一个模块的时候才会加载模块
{
 path:'post',
 loadChildren:'./post/post.module#PostModule'
}

4、路由出口

<router-outlet></router-outlet>
这里就和vue的routerview是一样的表示显示定义了routerLink的模块或者其他
5、路由链接
template: `<h1>Angular Router</h1><nav><a routerLink="/crisis-center" routerLinkActive="active">Crisis Center</a><a routerLink="/heroes" routerLinkActive="active">Heroes</a></nav><router-outlet></router-outlet>
`
 onSelect(hero: Hero) {this.router.navigate(['/hero', hero.id]);}

它用一个链接参数数组调用路由器的navigate方法。 如果我们想把它用在HTML中,那么也可以把相同的语法用在RouterLink中。


ActivatedRoute:一站式获取路由信息

该路由的路径和参数可以通过注入进来的一个名叫ActivatedRoute的路由服务来获取。 它有一大堆有用的信息,包括:

url: 该路由路径的Observable对象。它的值是一个由路径中各个部件组成的字符串数组。

data: 该路由提供的data对象的一个Observable对象。还包含从resolve守卫中解析出来的值。

params: 包含该路由的必选参数和可选参数的Observable对象。

queryParams: 一个包含对所有路由都有效的查询参数的Observable对象。

fragment: 一个包含对所有路由都有效的片段值的Observable对象。

outletRouterOutlet的名字,用于指示渲染该路由的位置。对于未命名的RouterOutlet,这个名字是primary

routeConfig: 与该路由的原始路径对应的配置信息。

parent: 当使用子路由时,它是一个包含父路由信息的ActivatedRoute对象。

firstChild: 包含子路由列表中的第一个ActivatedRoute对象。

children: 包含当前路由下激活的全部子路由。

import { Router, ActivatedRoute, Params } from '@angular/router';

这里导入switchMap操作符是因为我们稍后将会处理路由参数的可观察对象Observable

src/app/heroes/hero-detail.component.ts (switchMap operator import)

import 'rxjs/add/operator/switchMap';

通常,我们会直接写一个构造函数,让Angular把组件所需的服务注入进来,自动定义同名的私有变量,并把它们存进去。

src/app/heroes/hero-detail.component.ts (constructor)

constructor(private route: ActivatedRoute,private router: Router,private service: HeroService
) {}


模块懒加载

项目结构




一般是在routing.module中定义对应的路径和组件然后再在@ngModule的import中导入这个路径数组常量或者在module中的@ngModule中引入routing.module   export 的路径数组常量

eg:1  如上面的方法一样


eg2:

当然在上面的时候还要在最初引入这些模块才能直接使用  根路由用forRoot,子路由用forChild,这样在routing.module中就只用export 常量数组就可以了


模块懒加载分析

1、在根routing.module中设置懒加载模块


2、建立模块



3、设置routing.module,就是上面的user-route.ts

import { RouterModule } from '@angular/router';
import {Usermian} from './usermian/usermian';
import {UserinfoComponent} from './userinfo/userinfo';
import {Userother} from './userother/userother';
export const userroutes=[
  {
  path:'',
  component:Usermian,//表示默认输出该模块,后面的为整个的其他的页面
  children:[
    {
      path:'',
      redirectTo:'user',
      pathMatch:'full'
    },
    {
      path:'userinfo',
      component:UserinfoComponent
    },
    {
      path:'userother',
      component:Userother
    }
  ]
}
]


4、设置user.module.ts

import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';   引入路由模块
import { Usermian } from './usermian/usermian';
import { UserinfoComponent } from './userinfo/userinfo';
import { Userother } from './userother/userother';
import {userroutes} from "./user-route";
//模块有自己的routesmodule中用forChild 引入一下
@NgModule({
  declarations:[
    Usermian,                        这里导入用组件访问设置path的组件名,用link链接的就不用了
    UserinfoComponent,
    Userother

  ],
  imports: [
    RouterModule.forChild(userroutes) 引入自己设置的userroutes模块
  ],exports: [
    Usermian
  ]
})
export class UserModule { }

5、补充

由于设置的主要路径是在usermian里面所以在里面设置routerLink和显示  usermian.ts如下

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-usermin',
  template:`<div>
                <a routerLink="userinfo">用户信息</a>
                <a routerLink="userother">其他</a>
            </div>
            <div>
                <router-outlet></router-outlet>
            </div>
            
            `
})
export class Usermian implements OnInit {

  constructor() { }

  ngOnInit() {
  }

}

6、最终效果


对于路由还有很多没学到,后面会逐步的完善,这只是对于初使用和懒加载在使用的记录,知道有很多不足,书面也不怎么好看,还望各位看官多多包涵哈

2017-6-12更新  
以下内容主要摘自:
http://blog.csdn.net/qq451354/article/details/53998280

相对导航

首先我们需要知道相对于什么位置进行导航,所以先要有个参照路径。参照路径可以从ActivatedRoute中获取。

    this.router.navigate(['/child-center'], { relativeTo: this.route})
  • 1
  • 1

这里就是相对于当前route(this.route)进行导航,导航至/child-center。

如果当前url是xxx:8080,那么导航后的结果: 
xxx:8080/child-center

也可以导航至上一层

    this.router.navigate(['../'], { id: 1, foo: 'foo' }, {relativeTo: this.route})
  • 1
  • 1

3.绝对导航

    this.router.navigateByUrl()







接口说明

这一段主要引用 http://www.cnblogs.com/fanzhengshao/p/6433350.html

http://www.jmfq.cn/news/5296321.html

相关文章:

  • 为什么要做一个营销型网站/百度竞价推广是什么工作
  • 建设一个网站可以做什么/线上营销平台有哪些
  • 商洛市住户和城乡建设局网站信息价/世界球队最新排名
  • 可以做用户旅程图的网站/站长网站
  • python做网站验证码/seo每日一贴
  • 西部空间怎样上传网站/百度联盟一天多少收入
  • 镇江品牌网站建设/青岛seo优化公司
  • 郴州市做网站/百度推广代理商有哪些
  • 做网站买什么服务器 便宜/百度免费优化
  • dw做网站简单吗/云南网络推广公司排名
  • 南阳企业网站制作/中国最新领导班子
  • adobe建网站/百度竞价点击软件
  • wordpress主题转html/网站seo优化包括哪些方面
  • 青岛品牌设计/网站做优化好还是推广好
  • 滴道网站建设/线上营销模式有哪些
  • 网站的文件结构/seo点击工具
  • 如何申请自己的网站空间/品牌互动营销案例
  • 和田做网站的联系电话/聚合搜索引擎接口
  • 重庆网站建设方案书/seo包年服务
  • 昆明好的网站制作/长春网站建设定制
  • 设计公司网站官网/域名ip查询
  • 室内装饰公司网站模板/广告加盟
  • 做网站的升级人/seo常用的优化工具
  • 旅游地网站制作/nba最新交易消息
  • jquery 打开新网站/全球最大的磁力搜索引擎
  • 山东高端网站建设wang/icp备案查询官网
  • 南京百度网站建设/百度收录工具
  • 网站做动态和静态哪个贵/百度网站排名优化
  • 做软装搭配的网站/百度网站app下载
  • 京东商城网站风格/上海关键词排名手机优化软件