programing

각도 2.0은 $120에 해당합니다.$140

lastmemo 2023. 3. 12. 10:21
반응형

각도 2.0은 $120에 해당합니다.$140

angular 2.0을 시작하려고 하는데, 외부 이벤트가 데이터를 변경한 후 어떻게 뷰 업데이트를 시작할 수 있는지 궁금했습니다.

자세한 내용은 구글 지도와 지도상의 클릭 이벤트 핸들러를 가지고 있습니다.사용자가 지도를 클릭한 후 컨트롤러에 변수에 대한 클릭 위도와 경도를 저장합니다.

this.lat = event.latLng.lat();
this.lon = event.latLng.lon();

뷰에 이러한 값을 표시하려고 합니다.

<div> this is my spot: {{lat}} and {{lon}} </div>

angular 1에서는 $scope에 대한 호출로 컨트롤러 내의 할당을 랩합니다.145달러

앵글루어 2.0에서 보기를 업데이트하기 위해 선호하는 방법은 무엇입니까?

다음과 같이 각도 코어에서 ChangeDetectorRef 가져오기를 시도합니다.

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

건설업자의

constructor(private chRef: ChangeDetectorRef){
  chRef.detectChanges(); //Whenever you need to force update view
}

대부분의 경우 뷰를 업데이트하기 위해 아무것도 할 필요가 없습니다.zone.js는 모든 작업을 수행합니다.

그러나 어떤 이유로 변경 탐지를 수동으로 실행하려면(예를 들어 코드가 각도 영역 밖에서 실행되는 경우) 방법을 사용할 수 있습니다.이 플런커 좀 봐

import {Component, LifeCycle, NgZone} from 'angular2/angular2'

@Component({
  selector: 'my-app',
  template: `
    <div>
      Hello world!!! Time: {{ time }}.
    </div>
  `
})
export class App {
  time: number = 0;

  constructor(lc: LifeCycle, zone: NgZone) {
    zone.runOutsideAngular(() => {
      setInterval(() => {
        this.time = Date.now();

        lc.tick(); // comment this line and "time" will stop updating
      }, 1000);
    })
  }
  doCheck() {
    console.log('check', Date.now());
  }
}
setTimeout(function(){
//whatever u want here
},0)

참조 : http://blog.mgechev.com/2015/04/06/angular2-first-impressions/

언급URL : https://stackoverflow.com/questions/33174146/angular-2-0-equivalent-to-scope-apply

반응형