之前的问题并没有解决我的问题。
我正在尝试在另一个函数中发送res.data
并且它有效。但是当我发送res.data[somevalue]
时它不起作用。基本上,我的回答是一系列对象。我想从数组中发送一个特定的对象。发送数组有效。
Service.js
getPlayer: function(playerName){
return $http.get('../data/player.json',{
cache: true
}).then(function(res){
res.data.forEach(function(element) {
if(element.name == playerName){
console.log(element);
return element;
}
});
});
}
国家
name:'player',
url:'/players/{playerName}',
component:'player',
resolve:{
player: function(PlayerService, $transition$){
return PlayerService.getPlayer($transition$.params().playerName);
}
}
组件
angular.module('playerApp').component('player',{
bindings: {player:'<'},
template: '<div class="panel panel-success">'+
'<div class="panel-heading">'+
'<h3 class="panel-title">Details</h3></div>'+
'<div class="panel-body"><img height=300 width= 100% src="{{$ctrl.player.image}}">'+
'<strong>Name:</strong> {{$ctrl.player.name}} </br>'+
'<strong>Age:</strong> {{$ctrl.player.age}}</br>'+
'<strong>Country:</strong> {{$ctrl.player.country}}</br>'+
'<strong>Club:</strong> {{$ctrl.player.club}}</br>'+
'</div></div>'
})
答案 0 :(得分:1)
更改了函数getPlayers函数并且它有效。
getPlayer: function(playerName){
return $http.get('../data/player.json',{
cache: true
}).then(function(res){
for(var i in res.data){
if(res.data[i].name==playerName){
console.log(res.data[i]);
return res.data[i];
}
}
});