gpt4 book ai didi

javascript - 无法访问 $scope.property,但可以在 console.log($scope) 上看到它

转载 作者:行者123 更新时间:2023-11-28 18:25:54 25 4
gpt4 key购买 nike

我正在使用 get 调用中的数据填充 $scope:

httpGetAsync("myUrlWasHere", getBlogPosts, $scope);

我的回调似乎正确返回数据,因为打印 console.log($scope) 时我在控制台上得到以下输出:

console screenshot

但是,如果我尝试使用 console.log($scope.blogPosts) 访问它,它会返回未定义的结果:

console screenshot 2

我的回调函数是这样的:

function getBlogPosts(param, $scope) {
$scope.blogPosts = JSON.parse(param);
}

我想要的只是能够将 blogPosts.items 内的数组传递给 Angular,以便使用 ng-repeat

这是 Controller :

   websiteApp.controller('BlogController', function BlogController($scope) {
console.log("blog loaded");
httpGetAsync("myUrlHere",
getBlogPosts,
$scope);

//console.log($scope);
console.log($scope.blogPosts);

});

请注意,这些都是我用来向您提供屏幕截图的 console.log。我缺少什么?我该如何异步解决它?

最佳答案

httpGetAsync() 是异步的(从名称上看)。

<小时/>

因此,您的程序流程似乎是:

  1. 运行httpGetAsync()函数。
  2. console.log($scope.blogPosts)(不起作用,因为数据未输入并且回调尚未调用)
  3. httpGetAsync() 函数加载的数据。
  4. console.log($scope)(有效,因为回调已被调用)。
<小时/>

确保在调用回调后运行访问 $scope.blogPosts 的代码。例如,在回调函数末尾运行 console.log($scope.blogPosts)

关于javascript - 无法访问 $scope.property,但可以在 console.log($scope) 上看到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39157481/

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