gpt4 book ai didi

javascript - AngularJS 服务不显示

转载 作者:行者123 更新时间:2023-11-28 11:52:50 26 4
gpt4 key购买 nike

我只是使用 Github 的 API 获取我的 Github 信息。当我记录我的 http 请求时,它会显示正确的信息。我不确定为什么它没有显示在页面上。我没有收到任何错误。 (部分正在显示,只是不是请求的数据)

服务:

myApp.factory('githubApi', ['$http',
function($http) {
//Declaring a promise that will or will not return a users github information.
return {
async: function() {
return $http.get('https://api.github.com/users/joshspears3');
}
}
}
]);

Controller :

myApp.controller('githubCtrl', [ 'githubApi', '$scope',
function(githubApi, $scope){
$scope.data = githubApi.async();
}
]);

指令:

myApp.directive('githubRequest', [
function() {
return {
scope: {},
restrict: 'E',
controller: 'githubCtrl',
templateUrl: 'public/views/partials/github-request.html'
}
}
]);

github-request.html(部分):

<p class="component-example-header">Creating a service. Grabbing information based on the github API.</p>
<div>
Making a $http request to grab my personal Github information.
<p>Avatar:</p>
<img width="20%"src="{{data.avatar_url}}" alt="" />
<p>Username: {{data.login}}</p>
<p>Followers: {{data.followers}}, Following: {{data.following}}</p>
</div>

Index.html:

  <div>
<global-header></global-header>
<div ui-view></div>
<github-request></github-request>
</div>

最佳答案

您尚未在此处使用 Promise。将您的异步函数更改为:

return $http.get('https://api.github.com/users/joshspears3').success(function(response) {
return response.data
});

和您的 Controller :

function(githubApi, $scope){
githubApi.async().then(function(data) {
$scope.data = data;
});
}

关于javascript - AngularJS 服务不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32354316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com