Окейский студент изучал js около 8 недель, работая над окончательным проектом, не понимая, как отображать в DOM из моих запросов. Мне нужно отобразить summonerData в dom со спичками... Что я делаю неправильно? Не взорвите мой ключ API, или мне придется получить еще один.
app.controller('ListController', ['$scope', '$window', '$http', 'LeagueService', function($scope, $window, $http, LeagueService) {
//$scope.interests = LeagueService.getInterests();
$scope.searchSummoner = function () {
LeagueService.summonerByName($scope.summonerText).then(function(responseData){
console.log(responseData);
//$scope.summonerObject = responseData.data['huriey'].id;
let summonerId = responseData.data[$scope.summonerText].id;
// debugger
// make your second api call
// &seasons=SEASON2016
return $http({
method: 'GET',
url:''
});
}).then(function (summonerData) {
// angular.copy(response.data.leagues, summonerCache);
// return response;
console.log(summonerData);
$scope.searchSummoner = function (summoner) {
$window.open('${summoner.data}');
};
});
Ваша проблема в том, что вы должны использовать, then
только после вызова функции. Вы добавляете его после определения функции. Вы должны сделать это, как следует. то это работает.
Определите свою функцию
$scope.searchSummoner = function () { return $http(...)};
обратитесь к функции, а затем вы можете использовать then
$scope.searchSummoner().then(function (summonerData) {
...
});
С угловым, вы показываете через привязки. Вот простой пример привязки:
<input type="text" value="model.someProperty"/>
или вы можете сделать это следующим образом:
<span>{{ model.someProperty }}</span>
Я бы порекомендовал вам потратить некоторое время и прочитать на угловом экране и посмотреть, как вы можете получить доступ к данным с вашего контроллера в своих шаблонах.