javascript - 嵌套http get中的Angularjs范围变量

标签 javascript angularjs

我在访问嵌套 $http.get 中定义的作用域变量时遇到问题。这是我的 Controller 代码(它与部分 $routeProvider 相关)

    //Content controller
app.controller('Content', ['$scope', '$routeParams', '$http', function($scope, $routeParams, $http) {
    $http.get('wp-json/wp/v2/posts?slug=' + $routeParams.slug).success(function(res) {
        $scope.post = res[0];
        document.querySelector('title').innerHTML =  res[0].title.rendered + ' | Going Solo ';
        console.log(res);
        $http.get('wp-json/wp/v2/posts?filter[artists]=' + $scope.post.pure_taxonomies.artists[0].slug + '&exclude=' + $scope.post.id).success(function(res) {
            if (res.length > 1) {
                $scope.related = res;               
            }
            else {
                $scope.related = res[0];                
            }
            console.log(res);
        }); 
    }).error(function(res, status) {
        if (status === 404) {
            $scope.is404 = true;
            document.querySelector('title').innerHTML = 'Page not found | Going Solo';
            $scope.errorMessage = 'Error: ' + res[0].message;
        }
    });
}]);

基本上,我想检索与内容 Controller 中显示的歌曲相关的所有歌曲(第一个 $http.get)。为了链接所有歌曲,我使用了名为“艺术家”的自定义分类法。当然,我需要这是异步的,所以我在第一个中做了一个新的 $http.get 。在此请求中,我过滤当前帖子的分类法别名 ($scope.post.pure_taxonomies.artists[0].slug),并添加一个过滤器,通过添加帖子 ID 来排除帖子本身。通过查看控制台日志,这是正常工作的。它为第一个请求返回一个数组(1),为第二个请求返回一个数组(2)(具有正确的数据)。

问题是当我尝试在我的部分中访问第二个 $http.get 时。 如果我尝试这个ng-repeat:

<div ng-repeat="songrel in related">
    <div ng-bind-html="songrel.title.extended"></div>
</div>

没有显示任何内容。很简单,它不进入这个循环,所以我猜他不认识data.lated。我错过了什么?

最佳答案

它找不到 data.lated,因为没有声明 $scope.data 变量。尝试仅相关,即

<div ng-repeat="songrel in related">
    <div ng-bind-html="songrel.title.extended"></div>
</div>

关于javascript - 嵌套http get中的Angularjs范围变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44142271/

相关文章:

javascript - 如何使用 AngularJs 从弹出窗口将客户添加到表中?

javascript - 全屏背景上的热点,背景位置为 : center

javascript - 在页面上显示未知的隐藏字段值

javascript - Angular ui 树在 mozilla 中不起作用

javascript - AngularJS - promise 重新抛出捕获的异常

javascript - 这个嵌套对象创建器函数的 lodash 等价物是什么?

angularjs - 使用 REST 进行 Angular http 获取

javascript - 选择按钮 ng 模型值在 ng 内未定义 if

javascript - 如何实现 Angular 数据表中的动态列隐藏?

javascript - 当我使用子路径时,快速加载 Controller 无限次并且浏览器窗口崩溃