2017-08-16 47 views
0

我有這樣的代碼,我不知道爲什麼,但NG重複指令doesn't顯示結果被評論和doesn't顯示JSON對象的結果。我檢查,如果該對象被正確地傳遞到「this.paises2與toSource()方法,似乎一切都很好NG重複被評論和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 


    } 


} 

在此先感謝。

+0

您可以創建的jsfiddle?從UL –

+0

變化NG-重複李 –

回答

1

一對夫婦的問題。從angular docs

響應對象具有以下屬性:

  • 數據 - {串|對象} - 與
  • 變換函數變換的響應體。狀態 - {數} - 所述
  • 響應的HTTP狀態代碼。頭文件 - {函數([headerName])} - 頭文件getter函數。
  • 配置 - {對象} - 曾用於產生
  • 該請求的配置對象。 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

+0

非常感謝!它完美的工作!我必須理解「這個」問題,因爲我無法正確地看到它。我認爲JSON對象是一個字符串,因爲當我讀到JSON對象是文本時,我誤解了它,並且我認爲這意味着字符串。 – FranP

1

更改此

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

這個

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