2017-08-16 4 views
0

このコードはありますが、理由はわかりませんが、ng-repeatディレクティブはコメントを取得し、JSONオブジェクトの結果を表示しません。オブジェクトが正しくはtoSource()メソッドでthis.paises2」に渡された場合、私がチェックしていると、すべてがうまくようですng-repeatはコメントを取得し、JSONオブジェクトの結果を表示しません。

私はここでチェックしてきたが、何もうまくいかない:。

AngularJS: ng-repeat not displaying JSON

ng-repeat code getting commented out when viewed from browserここで

ngRepeat div get commented out when i see from the browser inspector

HTMLコードです:

<html ng-app="miModulo"> 



<head> 

    <link href="mis-css.css" rel="stylesheet" type="text/css"> 

</head> 

<body ng-controller="miControlador as vm"> 

    <button ng-click="vm.buscarEnRegion()">Pulsar</button> 



    <ul ng-repeat="elemento in vm.paises"> 
    <li> 

     {{elemento.name}} 



    </li> 

    </ul> 

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 

    <script src="mijs1.js"></script> 

</body> 

とJavaScript /角度JSコード:事前に

angular 
.module("miModulo",[]) 
.controller("miControlador",['$http',funcionPrincipal]); 

function funcionPrincipal($http) 
{ 
    this.buscarEnRegion=function() 
    { 
     $http.get("https://restcountries.eu/rest/v1/region/africa").then(function(miRespuesta) 
     { 
      this.paises=miRespuesta; 

     // alert(miRespuesta.toSource()); 

     alert(this.paises.toSource()); 



     },function(miRespuesta) 
     { 

      alert("incorrecto"); 
     } 



     ); //then 


    } 


} 

感謝。この

<ul > 
    <li ng-repeat="elemento in vm.paises"> 
    {{elemento.name}} 
    </li> 
</ul> 
+0

あなたがJSFiddleを作成できますか? –

+0

ulからliへのng-repeatの変更 –

答えて

1

夫婦の問題に

+0

ありがとう!それは完全に動作します!私は "この"問題を理解しなければなりません。私は頭の中でそれを正しく見ることができません。私はJSONオブジェクトが文字列であると思っていました。なぜなら、JSONオブジェクトがテキストであることを誤読してしまったからです。 – FranP

1

変更この

<ul ng-repeat="elemento in vm.paises"> 
    <li> 
    {{elemento.name}} 
    </li> 
</ul> 

。 {|オブジェクト列} - -

  • 変換関数を用いて形質転換応答本体

    • データ:angular docs

      からの応答オブジェクトは、これらの特性を有しています。ステータス - {番号} -

    • のHTTPステータスコード。 headers - {function([headerName])} - ヘッダーゲッター関数。
    • config - {オブジェクト} - 要求を生成するために使用された構成オブジェクト。
    • statusText - {string} - レスポンスのHTTPステータステキスト。
    • xhrStatus - {文字列} - XMLHttpRequestのステータス(完了、エラー、タイムアウトまたはアボート)。

    だからあなたがしたいのはmiRespuesta.dataです。

    this.paises=miRespuestaの場合、thisはコントローラではなく関数を指します。したがって、コントローラに変数を割り当てる必要があります。だからあなたのコントローラは、これに変更します。

    function funcionPrincipal($http) 
    { 
        var vm = this; 
        vm.buscarEnRegion=function() 
        { 
         $http.get("https://restcountries.eu/rest/v1/region/africa").then(function(miRespuesta) 
         { 
          vm.paises=miRespuesta.data; 
         },function(miRespuesta) 
         { 
          alert("incorrecto"); 
         } 
         ); //then 
        } 
    } 
    

    plunker

  • 関連する問題