2016-07-11 4 views
1

私のコンポーネントにバインドする要素を見たいと思います。彼は非同期呼び出し(約束)を行うため、この値は(別のコンポーネントで)変更される可能性があります。 JSでは今まで$scope.$watchを使用しています。バインディング要素が変更されたときにコールバックがあり、要素の値を続けることができます。 JSの

例:

$scope.$watch('myCtrl.myLayout', function (newVal, oldVal) { 
       console.log('Layout is:'); 
       console.log(_this.myLayout); 
      }); 


angular.module('blocks.ui') 
    .component('myForm', { 
     templateUrl: 'app/blocks/UI/form.html', 
     controller: myForm, 
     controllerAs: 'myCtrl', 
     bindings: { 
      myLayout: '=' 
     } 
    }); 

質問は(私は$スコープを注入し、まったく同じ方法でtypescriptです上の$scope.$watchを実装することができることを知っている)「クリーン」typescriptです構文を使用して同じことを実装する方法です。

ありがとうございました。

+0

を設定し得る使用しているあなたはそれ=> '$スコープ。$観( 'myCtrl.myLayout'、(newValueに、OLDVALUE)=> { //コンソールを試してみました。 log(newValue); }); '? – developer033

+0

@ developer033あなたの返事をありがとうが、問題は注入スコープなしで要素を見る方法です(すべて可能ですか?)。時計要素のタイスクリプトの正しい構文は何ですか? – Yohan

+0

質問はtypescriptとは全く関係がありませんか? –

答えて

1

ソリューションはtypescriptですが&が

private _myLayout:any; 

public get MyLayout() { 
    return this._myLayout; 
} 

public set MyLayout(newItem: any) { 
    this._myLayout = newItem; 
    console.log('Layout is:'); 
    console.log(this.MyLayout); 
} 
関連する問題