2017-04-10 6 views
0

私は以下の問題があります。私は別のコントローラにアルバムの配列を放送したい。私のコントローラの構造: 親 - multimediaController、子 - multimediaAlbumController。私は取得していますAngularJS and typescript broadcast

export class MultimediaAlbumController{ 
    $scope; 
    static $inject = ['$scope']; 
    constructor($scope){ 
     this.$scope = $scope; 
    } 
    brodRec(){ 
    this.$scope.$on('prod',() => { 
      console.log("receiving"); 
     }); 
    } 
} 

multimediaController.ts

export class MultimediaController { 
    $scope; 
    static $inject = ['$scope']; 
    constructor($scope){ 
    this.$scope = $scope; 
    } 
    changeAlbum(){ 
     this.$scope.$broadcast('prod', console.log("sending")); 
    } 
} 

multimediaAlbumController.ts ...なぜ実際にはわからないが、私は、変数を送信していますが、私を受け取ることができませんコンソール - センゲインドでは受信できません。何が間違っているのですか?

+1

いつどこで 'brodRec'を呼びますか?私は '$ scope'呼び出しをコンストラクタに移動するだけです – Phil

+0

だから、$ scope $をconstrucotrに移動しようとしますか?お試しください。 – qwerty1234567

+0

Okが動作します。ありがとうございました:) – qwerty1234567

答えて

0

$ scope変数をpublicにしてください。

constructor(public scope:ng<IScope>) { 
this.$scope = scope; 
} 
+0

Philが解決策を見つけました。とりあえずありがとう ;) – qwerty1234567

関連する問題