2019년 10월 3일


1 주 조립체는 조립체로부터 전달 된 파라미터들에 따라 상기 조립체로부터 매개 변수를 전달 - 다른 페이지를 나타내는 결과에 응답하여 :

1 단계는 : @input 가진 서브 어셈블리의 파일 특성 () 파라미터이 본체로부터 지나간다 준수 식별 화면 반전
부분의 입력 매개 변수,
본체 영웅로부터 수신> -; 히어로 @input () 영웅 : EG를 개체의 영웅 속성

단계 2 : 본체 템플릿, EG 속성 값을 결합 영웅 :
<APP-영웅 세부 [영웅] = "selectedHero는"> </ 앱 영웅 세부>
[영웅] = "selectedHero"속성 각도 묶여 문법을 제공.
이 바인딩 단방향 데이터입니다

참고 : 본체 템플릿, 영웅이 추가 속성 이름 선택 바인딩 서브 어셈블리가에 있어야합니다
@input 식별과 클래스 파일 서브 어셈블리의 TS 장식 속성,
그렇지 않으면, AS 던져 윌 예외는 다음 :
수 '이후 hero1'는 t는 결합 ' 은 알려진 특성 아니다' 서브 어셈블리 '.

2, 서비스 - 서비스의
구성 요소를 직접 액세스하고 데이터를 저장해서는 안, 그들은 여부 쇼 잘못된 데이터를 알고 있어야합니다. 그들은해야
디스플레이 데이터에 초점 및 서비스에 위임 데이터 액세스 책임은
서로를 모르는 서비스의 여러 클래스간에 정보를 공유 할 수있는 좋은 방법입니다

서비스 메타 데이터 오브젝트를 받아 @Injectable () 장식

상기 서비스 요소에 주입 각도 요청 전에 먼저 의존성 주입 시스템이 서비스를 제공해야
하면, 등록을 제공함으로써 달성 할 수있다

기본적으로 각 CLI는 서비스가 데코레이터에 의해 @Injectable에 추가됩니다 생성 NG 명령
루트 주입 서비스 제공 업체로 등록됩니다으로, 메타 데이터의 형태로

@Injectable ({
: '루트', providedIn
})
다른 곳에서 주입 할 수 있도록 공급자의 루트,

3 서비스 요소에

1 단계 : 먼저 수입 서비스

단계 2 : 생성자 (개인 heroService : HeroService는 ) {}
HeroService 주입 지점으로 표시하는 전용 heroService 속성 선언
각도 어셈블리를 생성 할 때, 시스템은 Heroservice heroServce에 주입 파라미터에 의존
단일 개체

STEP3가 : 데이터 서비스를받을 수있는 기능을 만든 다음 ngOnInit에있는 함수를 호출
참고 : 그것은 생성자에 전화를하지 않는 것이 좋습니다, 그래서 그것을 간단한 생성자를 유지 만 조작을 초기화 :
재산, 예를 들어, 할당 생성자 인자.
생성자는 확실히 기능은 원격 서비스에 HTTP 요청을 전송 호출해서는 안, 아무것도 안
하지만 ngOnInit에 전화를 선택했다

(4) 관찰 할 수있다 (관찰 가능한) 데이터

데이터 취득 - 실제 응용 프로그램이 응답을 기다리는 서버로부터 획득되는, 비동기 적으로 데이터를 취득하는 것이 필요하다
Observble RXJS는 키 클래스 라이브러리입니다
, 예를 시뮬레이션의 RxJS () 함수에서 서버에서 데이터를 반환하는 데 사용할 수 있습니다 :

getHeroes(): Observable<Hero[]> {
return of(HEROES);
}

调用该函数,获取结果:
this.Service.getHeroes()
.subscribe(result =>this.heroes = result);

5、constructor(public messageService: MessageService) {}
Angular只会绑定到组件的公共属性,所以这个messageService必须是public
HTML绑定语法:可以直接调用messageService中的方法
(click)="messageService.clear()"

6、若在ng new my-app命令中选择了不创建Routing模块,则用如下命令可以生成:
ng generate module app-routing --flat --module=app
--flat 把这个文件放进了src/app中,而不是单独的目录中
--moudle = app,告诉CLI把它注册到AppModule的imports数组中

7、添加路由定义:
路由定义会告诉路由器,当用户点击某个链接或者在浏览器地址栏中输入某个URL时,
要显示哪个视图。

典型的Angular路由(Route)有两个属性:
1、path:一个用于匹配浏览器地址栏中URL的字符串
2、component:当导航到此路由时,路由器应该创建哪个组件

8、RouterModule.forRoot()
你必须首先初始化路由器,并让它开始监听浏览器中的地址变化
把RouterModule添加到@NgModule.imports数组中,并用routes来配置它。你只要
调用imports数组中的RouterModule.forRoot()函数就行了。
imports: [RouterModule.forRoot(routes)]

这个方法之所以叫forRoot(),是因为你要在应用的顶级配置这个路由器,此方法会提供
路由所需的服务提供商和指令,还会基于浏览器的当前URL执行首次导航。

9、添加路由出口(RouterOutlet)
<router-outlet></router-outlet> --当连接到组件时,才显示视图

10、添加路由连接(routerLink)
<a routerLink="/heroes">Heroes</a>

11、添加默认路由
当应用启动时,浏览器的地址栏指向了网站的根路径,它没有匹配到任何现存路由,
因此路由器也不会导航到任何地方。<router-outlet>下方是空白的
{ path: '', redirectTo: '/dashboard', pathMatch: 'full' }

12、ActivatedRoute --保存着到当前组件实例的路由信息。这个组件对从URL
中提取的路由参数感兴趣

location 是一个angular的服务,用来与浏览器打交道

13、javaScript中,将操作数转为数字:+"90" => 90

14、回到原路
this.location.back()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

추천

출처www.cnblogs.com/QQ-lala/p/11621499.html