반응형
각도2 - TypeScript : AppComponent에서 시간 초과 후 숫자 증가
간단한 것을 만들고 싶다.Angular2
응용 프로그램 사용TypeScript
간단해 보이지만, 내가 원하는 것을 이룰 수 없다.
템플릿에 속성 값을 표시하려고 함.그리고 setTimeout을 사용하여 1초 후에 업데이트하고 싶다.
Plunkr 코드가 여기에 있음: Code on Plunkr
내가 쓴 것은 여기에 있다.
import {Component} from 'angular2/core';
interface Hero {
id: number;
name: string;
}
@Component({
selector: 'my-app',
template:`<h1>Number Increment</h1><p>{{n}}</p>`
})
export class AppComponent {
public n : number = 1;
setTimeout(function() {
n = n + 10;
}, 1000);
}
이 코드를 사용할 때 다음 오류가 발생하는 경우:
Uncaught SyntaxError: Unexpected token ;
액세스할 수 없는 이유n
자바스크립트에서 우리가 했던 것과 같은 범위에 있다.만약 내가 틀리지 않았다면, 우리는 TypeScript에서도 순수한 자바스크립트를 사용할 수 있다.
노력까지 했다.
export class AppComponent {
public n : number = 1;
console.log(n);
}
그러나 그 가치를 알 수 없다.n
콘솔에
내가 시도했을 때
export class AppComponent {
public n : number = 1;
console.log(this);
}
나는 위와 같은 실수를 하고 있다.왜 우리가 이 장소에 접근할 수 없는 거지?그런 것 같다.this
JavaScript와 같은 현재 컨텍스트를 참조한다.
미리 고맙다.
유효한 TypeScript 코드가 아니다.수업의 본문에는 메서드 호출이 있을 수 없다.
// INVALID CODE
export class AppComponent {
public n: number = 1;
setTimeout(function() {
n = n + 10;
}, 1000);
}
대신 이동하십시오.setTimeout
를 부르다constructor
동급의또한 화살표 기능을 사용하십시오.=>
에 접근하다this
.
export class AppComponent {
public n: number = 1;
constructor() {
setTimeout(() => {
this.n = this.n + 10;
}, 1000);
}
}
TypeScript에서 다음을 통해 클래스 속성 또는 메서드만 참조할 수 있음this
. 그래서 화살표 기능=>
중요하다.
당신은 당신의 처리를 클래스 생성자 또는안에 넣어야 한다.OnInit
후크 방식
반응형
'programing' 카테고리의 다른 글
React useEffect에 종속성 배열의 스프레드 요소가 있음 (0) | 2022.03.28 |
---|---|
vue-cli 프로젝트에서 포트 번호를 변경하는 방법 (0) | 2022.03.28 |
.pyc 파일을 피하는 방법? (0) | 2022.03.28 |
POST 요청을 보내는 방법? (0) | 2022.03.28 |
useRedcer 및 useContext를 사용하여 사용자 정의 후크에서 작업을 디스패치하는 방법 (0) | 2022.03.28 |