-2

私は2つの指示文を持っており、1つの指示文の後に別の指示文に値を渡す必要があります。ブロードキャストのanglejを使用した指示通信への指示

最初のディレクティブは二ディレクティブは二ディレクティブイベントは$スコープのイベントリスニングのために

+0

だから問題または質問は何ですか?あなたが[ask] – charlietfl

+0

の第2の指示イベントが動作していないことを確認するのに良い時期かもしれません。聞こえません – krs8888

+0

2番目のディレクティブ(閉じ括弧がない)に構文エラーがありますが、投稿する前にコードを間違って編集したことがありますか?それ以外の場合は、コンソールにエラーがあり、指示文はコンパイルされません。あなたは$ rootScopeで聞いてみましたか?それは$ scopeで動作するはずですが、時にはそれに問題があります。 –

答えて

0

を聞いていない

var resultPage = angular.module('resultPageDirective',[]); 
resultPage.directive('resultDirective',function(){ 
    return { 
     restrict: 'EA', 
     scope: {}, 
     replace: true, 
     link: function($scope, element, attributes){ 
     }, 
     controller: function($scope,$rootScope,$attrs,$http){  
      $scope.junkFiles = ["abc","xyz"]; 
      $scope.$on("NEW_EVENT",function(event,data){ //listen to event 
        console.log(data); 
      }); 

     }, 
     templateUrl: 'app/views/resultPage/resultPage.tpl.html' 
    } 
}); 

のように、あなたが $onを使用する必要があります見えます

var fileUpload = angular.module('fileUploadDirective',[]); 
fileUpload.directive('fileUpload', function() { 
     return { 
      restrict: 'EA', 
      templateUrl: 'app/views/fileUpload/file-upload.tpl.html', 
      controller: fileUploadCtrl 
     } 
    }); 
fileUploadCtrl.$inject = ['$scope', '$rootScope', '$http','FileUploader']; 
function fileUploadCtrl($scope, $rootScope, $http, FileUploader) { 

    var vm =this 
    vm.uploader.onBeforeUploadItem = function (item) {    
     $rootScope.$broadcast("NEW_EVENT",data); //send event 
    } 
} 

のように見えます代わりにon

$scope.$on("NEW_EVENT",function(event,data){ //listen to event 
     console.log(data); 
}); 
+0

いいえ、まだ動作しません – krs8888

+0

こんにちは、あなたの最初のディレクティブのコントローラで 'VMの'未定義のエラーを取得しましたか?それは私が思うに使用されるはずの 'controllerAs'ではありません。少なくとも 'var vm = this 'が必要です – MMhunter

+0

エラーはありません。私のコードはvar vm = thisを持っています – krs8888

関連する問題