Javascript Angularjs读取模板中对象的值
我有一些类似上面API的JSON数据,我试图用angujarjs在一个循环中显示这个结果,我不知道如何读取'src'的值,我一直得到一个未定义的 我的模板看起来像这样Javascript Angularjs读取模板中对象的值,javascript,angularjs,Javascript,Angularjs,我有一些类似上面API的JSON数据,我试图用angujarjs在一个循环中显示这个结果,我不知道如何读取'src'的值,我一直得到一个未定义的 我的模板看起来像这样 "node" : { "title": "Event hold tomorow", "field_mobile_image" : " {'src' : 'http://www.example.com/sites/default/files/image_default_banner.jpg','alt' : ''}"
"node" : {
"title": "Event hold tomorow",
"field_mobile_image" : " {'src' : 'http://www.example.com/sites/default/files/image_default_banner.jpg','alt' : ''}"
}
}, "node" : {
"title": "Event hold tomorow",
"field_mobile_image" : " {'src' : 'http://www.example.com/sites/default/files/image_default_banner.jpg','alt' : ''}"
}
}
<a class="list card" ng-repeat="newsitem in news" style="display:block;text-decoration:none;" ui-sref="menu.newsDetail()" id="news-card22">
<img ng-src="{{newsitem.node.field_mobile_image.src}}">
<i class="icon ion-android-calendar"></i>{{newsitem.node.title}}</ion-item>
服务看起来像
function($scope, $stateParams, getPageInfo) {
getPageInfo.news().then(function(res) {
$scope.news = res;
});
}]) 因为字段\u mobile\u image的值实际上是一个JSON字符串,所以它没有src属性,所以您将无法定义它。除了为访问整个JSON结构而采取的任何步骤外,还需要修复整个对象并在该属性上运行JSON.parse。如果您不确定如何编写函数来实现这一点,那么显示整个新闻数组会很有帮助
编辑:此外,您还需要使用ng src,正如评论员建议的那样
MOAR编辑:为了解决这一问题,请考虑所讨论的属性实际上是用双引号包装的,因此它不是一个对象,它是一个字符串。查看任何字符串上的属性和方法列表,您将找不到src。这里有一些
为了使这个字符串成为一个对象,parse函数实际上将遍历字符串的字符,确定对象应该是什么样子,并将其返回给您。下面是一个关于如何处理单个项目的示例:.service('getPageInfo', ['$http', function($http) {
news: function() {
let api_url = "http://example.com/";
endpoint = "api/news";
return $http.get(api_url + endpoint).then(function(resp) {
console.log(resp.data.data[0].node.field_mobile_image.src); //undefined
return resp.data.data
});
}
return ret;
JSON数据
function fixData (data) {
data.field_mobile_image = JSON.parse(data.field_mobile_image)
return data
}
Html模板
$scope.news = {
node : {
title : "Event hold tomorow",
field_mobile_image : {
src : "http://www.example.com/sites/default/files/image_default_banner.jpg",
alt : ''
}
}}
显示新闻数组使用ng src而不是src更多详细信息在这里@SachilaRanawaka新闻数组是JSON对象它是我发布的第一个代码ng src不是问题当我console.log我得到图像的emtpy值我想你得到的JSON格式可能是错误的。应该是这样的{src::}谢谢你的回复我尝试了这个,它在JSON的位置2抛出了一个SyntaxError:Unexpected token',在JSON.parse中,数据中必须有一个恶意的单引号字符。您从哪里获取数据?确保您没有尝试在非JSON的对象上运行JSON.parse。
<a class="list card" ng-repeat="newsitem in news" style="display:block;text-
decoration:none;" ui-sref="menu.newsDetail()" id="news-card22">
<img ng-src="{{newsitem.field_mobile_image.src}}">
<i class="icon ion-android-calendar"></i>{{newsitem.title}}</ion-item>