복붙노트

[ANGULAR] Angular2의 변화에 ​​대해 자식 구성 요소를 알립니다

ANGULAR

Angular2의 변화에 ​​대해 자식 구성 요소를 알립니다

해결법


  1. 1.모든 구성 요소의 바인딩 된 속성이 업데이트 된 후에 호출되는 onchange 메소드에 추가 논리 또는 계산을 넣을 수 있습니다.

    모든 구성 요소의 바인딩 된 속성이 업데이트 된 후에 호출되는 onchange 메소드에 추가 논리 또는 계산을 넣을 수 있습니다.

    @Component({
        selector: 'child',
        properties : ['model']
    })
    @View({
        template: `
            <p>Child {{ model }}</p>
        `,
    })
    class Child {
        model: number;
    
        onChange(map){
          if(map.model) {
            console.log('doing crazy stuff here');
            console.log(map.model); //SimpleChange {previousValue: 43, currentValue: 44}
          }
        }
    }
    

    플러식


  2. 2.getters 및 setter를 사용하여 관리 할 수 ​​있습니다. 예제 하위 구성 요소는 다음과 같이보아야합니다.

    getters 및 setter를 사용하여 관리 할 수 ​​있습니다. 예제 하위 구성 요소는 다음과 같이보아야합니다.

    @Component({
      selector: 'child',
      properties : ['model']
    })
    @View({
      template: `
        <p>Child {{ model }}</p>
      `,
    })
    class Child {
      _model: number;
    
      set model(newModelValue) {
        // Here we are
        console.log('new model value: ' + newModelValue)
        this._model = newModelValue;
      }
    
      get model() {
        return this._model;
      }
    }
    

    다음은 귀하의 사건을위한 플러커입니다

  3. from https://stackoverflow.com/questions/31595070/notify-child-component-about-changes-in-angular2 by cc-by-sa and MIT license