2016-07-22 6 views
0

このコードは正常に機能し、親コントローラスコープを使用します。角度指示にスコープを適用し、オブジェクト関数を呼び出す

"<button type='button' post-random-feed >Post review</button>" 

.directive("postRandomFeed",['config',function(){ 
     return function(scope,element.attrs){ 

       element.bind("click", function(){ 
        scope.name ="henry"; 
        console.log(element); 
       }); 



    } 
}]); 

私の問題は、私は隔離されたスコープを定義して、ディレクティブから関数の代わりにオブジェクトを返したいということです。これは私のコードです

どのように要素がクリックイベントを登録するように私は皮肉関数を呼び出すことができます私は間違いを修正してください。ありがとうございます

+0

あなたはその中に置くことができますがリンク機能。 – ngLover

答えて

0

これはあなたがやりたいことですか?あなたは、コントローラへのコールバックを登録することができ :

HTML:

<button type='button' post-random-feed on-irony="onControllerFn">Post review</button> 

ディレクティブ:

.directive("postRandomFeed",['config',function(){ 
     return { 
      restrict :"A", 
      scope : {}, 
      link : function(scope, element, attrs) { 
       $timeout(function() { 
        scope.$emit(attr.onIrony); 
       }); 
      }); 

     } 
    }; 
}]); 

、あなたが行うことができ、コントローラで:

$scope.$on('onControllerFn', function(event) { 
    // your code here 
}); 
+0

これはどのようにオブジェクトをコントローラのスコープに渡すのですか? – charlietfl

+0

スコープの中に、必要に応じて片方向バインディングか双方向バインディングを指定するかどうかを指定することができます。コントローラに関数を渡すことが問題だと思っていました – kukkuz

+0

ありがとう。それはちょうど私が必要としたものでした – henrybbosa

関連する問題