2017-12-16 18 views
0

これは私の角度コントローラです:

angular 
    .module('hameedApp', []) 
    .controller('hameedController', function($scope, $http) { 

     $http({ 
      method: 'GET', 
      url: 'json.php' 
     }).then(function(response) { 
      $scope.contacts = response.data; 

     }).catch(function(response) { 
      console.log('error'); 
     }) 
    }); 

これはbodyタグから私のhtmlです:

<table class="table"> 
    <tr> 
     <th>Name</th> 
     <th>Phone No</th> 
     <th>Email</th> 
    </tr> 
    <tr ng-repeat="contact in contacts"> 
     <td>{{contact.name}}</td> 
     <td>{{contact.gsm}}</td> 
     <td>{{contact.email}}</td> 
    </tr> 
</table> 

<script> 
    var test = {{contacts}} 
    console.log(test); 
</script> 

私は「テスト」と呼ばれる一つの変数で{{contacts}}完全な配列のJSONデータの上に取得したいです。

は可能ですか?

+0

あなたは 'angularjs'として知っていたの下のように、angularコードからこのcallbackを使用することができ、この

<head> <script> .... .... window.updateContacts = function(contacts) { console.log(contacts); } .... .... </script> </head> 

ようwindowに新しいmethodを追加し、あなた<head>

の下を参照してください。まあ?前に 'angular.value'を使用しましたか?多分あなたの質問はあなたから試して行方不明! – Maher

答えて

2

角コンセプトは何でも入れて$scopenon-angularコードに直接アクセスできません。できることは、以下のようなwindowオブジェクトを使ってグローバル変数に割り当てることができるということです。

angular 
    .module('hameedApp', []) 
    .controller('hameedController', function($scope, $http) { 

     $http({ 
      method: 'GET', 
      url: 'json.php' 
     }).then(function(response) { 
      $scope.contacts = response.data; 
      window.contacts = response.data; 
     }).catch(function(response) { 
      console.log('error'); 
     }) 
    }); 

今、あなたはそのangularcontactsどこかだけでなく、non-angularコードにアクセスすることができます。

編集

あなたはcontactsnon-angularのコードを取得したい、あなたは更新された値についてのあなたのnon-angularコードを伝えるためにcallbackメカニズムを使用する必要があります。今、あなたは

angular 
    .module('hameedApp', []) 
    .controller('hameedController', function($scope, $http) { 

     $http({ 
      method: 'GET', 
      url: 'json.php' 
     }).then(function(response) { 
      $scope.contacts = response.data; 
      window.updateContacts(response.data); 
     }).catch(function(response) { 
      console.log('error'); 
     }) 
    }); 
+0

その連絡先が定義されていません –

+0

あなたはそれを割り当てた後で評価する必要があります。 –

+0

私は現在、あなたがページの読み込みでそれを評価していると思うが、ページの読み込みで '未定義 'となる。応答が返ってきたら、 –

関連する問題