2016-09-05 9 views
2

こんにちは私はクロムエクステンションを作成しており、他の角度のページと競合しないように角度を使用しています。body要素のng-クリックを設定します。私は、コントローラ内属性を追加する代わりにng-click to body

var body = document.getElementsByTagName('body')[0]; 
    angular.element(body).click(function(){ 
     $scope.clickToSelect(); 
    }); 

を追加しましたが、それはあまりにも多くの私のコードをスローダウンし、私は全く異なるスコープを作りたいので、私は身体にNGクリックを追加することはできません私のコードをスピードアップするための代替をしたいと思いますコントローラは、ボディelement.waに他のディレクティブを衝突しないようフランチェスコする

+0

を使用しましたスコープと私はコントローラの外でこれを行うことができるかどうかは分かりませんこの手順に従うことができるコントローラの外側からスコープを変更する場合は、 –

+1

を書き込む方がよいでしょう。http://stackoverflow.com/questions/17656244/how-to-change-angularjs-data-outsideスコープ – tocqueville

+0

@ FrancescoLorenzetti84感謝しました。私は 'var body = document.querySelector( 'body');を使用しました。 \t var appElement = document.querySelector( '[ng-controller = mainController]'); var $ scope = angle.element(appElement).scope(); $スコープ。$ apply(function(){ \t \t $ scope.clickToSelect(); \t \t}); }); ' –

答えて

0

おかげで私はこの1つが内部であると私は外コントローラの走った何かをしたいと思いますが、それは効果に必要となる

var body = document.querySelector('body'); 
angular.element(body).click(function(){ 
    var appElement = document.querySelector('[ng-controller=mainController]'); 
    var $scope = angular.element(appElement).scope(); $scope.$apply(function() { 
    $scope.clickToSelect(); 
    }); 
});