Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我正在尝试一个简单的ng重复示例,但它不起作用_Javascript_Angularjs - Fatal编程技术网

Javascript 我正在尝试一个简单的ng重复示例,但它不起作用

Javascript 我正在尝试一个简单的ng重复示例,但它不起作用,javascript,angularjs,Javascript,Angularjs,下面是我正在尝试的代码。如何纠正错误 <html ng-app="countryApp"> <head> <meta charset="utf-8"> <title>Angular.js Example</title> <script src="angular.min.js"></script> <script> var countryApp = ang

下面是我正在尝试的代码。如何纠正错误

<html ng-app="countryApp">
<head>
    <meta charset="utf-8">
    <title>Angular.js Example</title>
    <script src="angular.min.js"></script>
    <script>
        var countryApp = angular.module('countryApp', []);
        countryApp.controller('CountryCtrl', function($scope, $http){
            $http.get('countriesgdp.json').success(function(data) {
                    $ scope.countries = data;
            });
        });
    </script>
</head>
<body ng-controller="CountryCtrl">
    <table>
        <tr>
            <th>Country</th>
            <th>Population</th>
            <th>Flag</th>
            <th>Capital</th>
            <th><a href="https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(PPP)">GDP (PPP)</a></th>
        </tr>
        <tr ng-repeat="country in countries">
            <td>{{country.name}}</td>
            <td>{{country.population}}</td>
            <td><img src="{{ country.flagURL }}" width="100"></td>
            <td>{{country.capital}}</td>
            <td>{{country.gdp | currency}}</td>
        </tr>
    </table>
</body>
</html>
<pre>{{ countries }}</pre>

Angular.js示例
var countryApp=angular.module('countryApp',[]);
countryApp.controller('CountryCtrl',函数($scope,$http){
$http.get('countriesgdp.json').success(函数(数据){
$scope.countries=数据;
});
});
国家
人口
旗帜
首都
{{country.name}
{{国家人口}
{{国家首都}
{{country.gdp | currency}

是将$scope.countries更改为$scope.countries


还可以使用console.log验证数据是否为空。

console上是否有任何错误日志?首先,检查它,然后将数据记录到返回服务器的控制台,或者尝试在屏幕上显示所有数据,或者在演示中显示

{{countries}

请确保从服务器获取正确的数据。

我记得我执行了Angular操作,但在范围不更新方面遇到了一些问题,您可以尝试以下操作:

$scope.countries = data[0]
您可以尝试在get请求之后添加作用域应用函数

此外,countriesgdp.json的结构可能不正确,您可能需要执行以下操作:

请分享JSON文件的开头,这样我们可以确保结构正确,代码看起来很好,应该可以正常工作

实际上,如果您在控制台窗口中发现任何错误。只有我们才能提供准确的答案。无论如何,请注意以下细节

  • 您应该全局初始化ng repeat对象作为控制器顶部的数组

var countryApp=angular.module('countryApp',[]);
countryApp.controller('CountryCtrl',函数($scope,$http){
$scope.countries=[];//应添加此行
$http.get('countriesgdp.json').success(函数(数据){
$scope.countries=数据;
});
});

请不要将修正打字错误作为答案。我已尝试使用$scope.countries,但无效。打字错误不是这里的问题。您是否有意在$sign
$scope.countries=data?请在console.log中记录您的
$scope.countries
。还要检查控制台中的错误。如果有,请发布。分享你的错误和你想要什么?这个问题没有说明任何问题。检查工作示例JSON结构是否丢失,因为它无法打印输出。
$scope.countries = data[0]