Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS:如何仅在设置$scope.var之后在视图中设置$scope.var?_Javascript_Angularjs_Coffeescript - Fatal编程技术网

Javascript AngularJS:如何仅在设置$scope.var之后在视图中设置$scope.var?

Javascript AngularJS:如何仅在设置$scope.var之后在视图中设置$scope.var?,javascript,angularjs,coffeescript,Javascript,Angularjs,Coffeescript,我有一个角度的视图,看起来像这样: <li ng-repeat="n in range(newsList.length)" ng-class="{active: n == paging}" ng-click="setPage()"> <a href ng-bind="n + 1">1</a> </li> 真正的问题是,在设置$scope.newsList之前首先呈现视图,而该

我有一个角度的视图,看起来像这样:

<li ng-repeat="n in range(newsList.length)" ng-class="{active: n == paging}" ng-click="setPage()">
                    <a href ng-bind="n + 1">1</a>
                </li>
真正的问题是,在设置$scope.newsList之前首先呈现视图,而该变量在视图中未定义。如何告诉视图我只想在设置$scope.newsList后渲染这些li

顺便说一下,我在创建视图的控制器中调用$http请求

编辑 在我的控制器中,如果我输出$scope.newsList值,就会发生这种情况

$http.get('news/listings/' + ($scope.currentPage*$scope.itemsPerPage) + '/' + (($scope.currentPage+1)*$scope.itemsPerPage)).success (response) ->
        $scope.newsList = response
        alert $scope.newsList //returns object, which I want

alert $scope.newsList //undefined
重新编辑

解决了我的问题,但提出了另一个问题以及此问题的解决方案:

或者使用空数组初始化$scope.newsList:

$scope.newList=[]; $http.get。。。 或者在您的视图中使用ngIf:

$resource服务具有isArray配置,使其在获取数据之前返回空数组。你能试试这个选项吗?我现在找不到任何文件

$http.get(url, {isArray : true }).success(someCallback);
只需使用:ng show=newsList显示它们,可能会将我的代码更新为,仍然不起作用
$http.get(url, {isArray : true }).success(someCallback);