gpt4 book ai didi

javascript - 为什么解析方法没有向 Controller 返回任何数据?

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

我正在关注 youtube 的本教程并试图获取解析方法 getposts进入联系 Controller 。我不知道为什么它没有返回任何值。

有人可以告诉我我在这里做错了什么吗?我在 stackoverflow 上花了大约一个小时,但没有希望:(

var app = angular.module('simpleApp', ['ngRoute', 'ngSanitize']);

app.config(['$routeProvider', function($routeProvider){
$routeProvider
.when('/', {
templateUrl: './partials/home.html'
})
.when('/contact', {
controller: "contactController",
controllerAs: "contactCtrl",
templateUrl: './partials/contact.html',
resolve:{
getposts: function($http) {
return $http.get('https://jsonplaceholder.typicode.com/comments/1')
.then(function(response) {
// console.log(response.data) returns api data
return response.data;
})
}
}
}).controller('contactController', ['$scope', '$http', function($scope, $http, getposts){

vm = this;

console.log(getposts); // not getting response.data from getposts

vm.posts = getposts;

}])

// contact.html
<div>
<div class="row">
dfgdfg
<div class="col-lg-6">
{{ posts }}
</div>
</div>
</div>

问题 1:如果我删除这两行

controller: "contactController",
controllerAs:"contactCtrl"

并添加 ng-controller="contactController"在主分区 contact.html我收到错误

Error: [$injector:unpr] Unknown provider: getpostsProvider <- getposts <- contactController

问题2:如果添加了这些controller和controllerAs行并且ng-controller="contactController"从 View 中删除然后我需要添加$scope 将帖子输出到 View 。如果我这样做vm.posts = getposts;它不在 View 中显示 json 响应。哦,该死,我很困惑。

最佳答案

基本上,您错过了在 Controller DI 数组的内联数组注释中注入(inject) getPosts

controller('contactController', [
'$scope', '$http', 'getposts', //<-- you missed to inject here
function($scope, $http, getposts){

关于javascript - 为什么解析方法没有向 Controller 返回任何数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50455445/

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