【发布时间】:2017-11-04 08:48:22
【问题描述】:
我需要读取 angular 1.6 格式的 JSON 格式文件,所以我执行以下操作
在 HTML 中
<div ng-model="JsonRendering" ng-controller="NewsRendering">
<div ng-repeat="NewsData in News">
<h3>{{NewsData.Title}}</h3>
</div>
</div>
在脚本中
angular
.module( "JsonRendering", [])
.controller("NewsRendering", [ "$scope", "$http", function ($scope, $http) {
$http({
method: 'GET',
url: 'News/News.json'
}).then(function success(data) {
$scope.News = data;
});
}]);
在 JSON 中
{
"articles": [
{
"Title": "Article 1",
"Abstract": "Article 1 abstract starts here ...",
"Body": "Article 1 body starts here....."
}
]
}
我试图只呈现标题,但它不起作用。它显示在网页{{NewsData.Title}} 上。
注意: json 文件是文件夹内的本地 JSON 文件。所以json文件的路径是“Root/News/News.json那么应该怎么解决问题
【问题讨论】:
-
$scope.News = JSON.parse(data);
-
打开浏览器控制台。阅读错误。修理它。然后意识到您正在尝试迭代 HTTP 响应,而不是迭代 JSON 对象的文章数组,该对象是响应的主体(即 data 属性)。使用调试器会有所帮助。
-
那么这意味着你甚至没有启动你的 Angular 应用程序。浏览器可能无法找到或加载包含您的代码的 JS 文件。
-
我怀疑你没有任何错误,那么。在 plunkr 中发布一个完整的最小示例来重现该问题。
-
Angular 无法解析
{{NewsData.Title}}的原因只有两个,而您在页面上也看到了这样的情况:要么抛出错误,要么 HTML 不在 Angular 的范围内。如果不是第一个选项,那就是第二个。您显示的代码与它没有任何关系。如果您需要帮助解决问题,您真的必须展示一个我们可以尝试的演示 (minimal reproducible example)。