2016-09-29 8 views
0

HTTPリクエストの角度範囲から自分のユーザー情報にアクセスする際に問題があります。私は開発者ツールに必要な情報を見ることができますが、私はそれにアクセスするのに問題があります。ここでAngularJS Scopeからデータにアクセスする方法

は私が持っているものです。

var scope = angular.element("#comment").scope(); 
    console.log(scope); 
    //console.log(scope.navvm.currentUser.name); 

私はコメントアウト部分を試してみたが、それは動作しません。コメントアウトされていない部分を実行すると、私は、ユーザー名と電子メールを消さ

enter image description here

私の開発ツールでこれを見ることができます。私は内loggingステートメントを追加することをお勧めし

(関数(){

angular 
    .module('meanApp') 
    .directive('navigation', navigation); 

function navigation() { 
    return { 
    restrict: 'EA', 
    templateUrl: '/common/directives/navigation/navigation.template.html', 
    controller: 'navigationCtrl as navvm', 
    scope: '@?' 
    }; 
} 

})(); 
+0

コンテキストをもう少し提供できますか?通常、サービス内のスコープ変数にアクセスする必要がある場合は、パラメータとしてサービスメソッドに渡します。実際にここで試した方法でスコープにアクセスする必要はありません。 – Lex

+0

合意。それはサービスにあるべきです。これは現時点での概念の証明です。長期的にはサービスになるでしょう。 –

+0

周辺のコードをもっと表示できますか?またはおそらく[MCVE]。 – Lex

答えて

0

(function() { 

angular 
    .module('meanApp') 
    .controller('navigationCtrl', navigationCtrl); 

navigationCtrl.$inject = ['$location','authentication']; 
function navigationCtrl($location, authentication) { 
    var vm = this; 

    vm.isLoggedIn = authentication.isLoggedIn(); 

    vm.currentUser = authentication.currentUser(); 

} 

})(); 

ここナビゲーションディレクティブです:

はここナビゲーションコントローラですコントロ疑問の余地がある人。

あなたのケースでは、コントローラの定義にconsole.log(currrentUser)を追加するだけです。

EDIT:あなたは$ scopeを使用していません。 controller as構文を使用しています。このようにデータをデバッグする必要がある場合は、現在のコントローラを参照する$ scope変数を追加してください:$scope.navvm = this;

乾杯!

+0

私はその理由を理解していません。私はコントローラが適切に動作していることを知っています。私は開発者ツールのデータを見ることができます –

+0

あなたがplunkrを与えることができるなら、我々はもっと助けになるかもしれません – K3v1n

+0

決して前にplunkerをしませんでした。さらに、コントローラが使用しているブラザーに格納されているJWTがあります。 plunkrがそれを複製できるかどうかは分かりません。 –

関連する問題