Javascript 在AngularJS中获取请求后更新页面内容

Javascript 在AngularJS中获取请求后更新页面内容,javascript,html,rest,angularjs,Javascript,Html,Rest,Angularjs,在我的页面上,我有一个ng repeat='item in items'来迭代$scope.items。 $scope.items在调用$scope.listItems时获取其数据,它使用$http从连接到数据库的REST API获取数据 最初在控制器中调用$scope.items,初始化$scope.items并用数据填充它 现在,当我添加时,我知道$http正在工作,因为更改反映在数据库中$scope。项目也会根据我的控制台日志记录进行更改。但是,页面不会更新以反映更改 我想我应该使用$sc

在我的页面上,我有一个
ng repeat='item in items'
来迭代
$scope.items
$scope.items
在调用
$scope.listItems
时获取其数据,它使用$http从连接到数据库的REST API获取数据

最初在控制器中调用
$scope.items
,初始化$scope.items并用数据填充它

现在,当我添加时,我知道$http正在工作,因为更改反映在数据库中<代码>$scope。项目也会根据我的控制台日志记录进行更改。但是,页面不会更新以反映更改

我想我应该使用
$scope.$apply()
,但我得到的只是“Error:$digest已经在进行中”,所以我没有正确地使用它。我是AngularJS新手,一般不懂很多Javascript,所以请容忍我的无知

这是我的密码

var app = angular.module('App', []);
app.controller('AppCtrl', function ($scope, $http) {
  $scope.listItems = function () {
    $http({method: 'GET', url: '/api/items'})
      .success(function (data, status, headers, config) {
        $scope.items = data;
        console.log($scope.items);
      })
      .error(function (data, status, headers, config) {
        $scope.items = data || 'Request failed';
        $scope.status = status;
      });
  }
  $scope.addItem = function () {
    $scope.itemDetails.node_type = 'record'; // since input hidden doesnt work
    $http({method: 'POST', url: '/api/items/add', data: $scope.itemDetails, 
           headers: {'Content-Type': 'application/json'}})
      .success(function (data, status, headers, config) {
        $scope.status = status;
        $scope.listItems();
        //$scope.$apply(); // throws an error
      })
      .error(function (data, status, headers, config) {
        $scope.status = status;
      });
  }
  $scope.listItems(); // initialize $scope.items
});

你也可以显示你的HTML吗。。。您不应该从angular scope/services中调用$scope.$apply()$http自动导致调用$apply和$digest,这将更新通过检查作用域中的任何脏(更改)而建立的任何监视。你所做的看起来基本上是对的,你试过在页面上的某个地方显示{{items}吗?嘿,你是对的,它确实有效!我发现我在两个相互嵌套的div中调用
ng controller=“AppCtrl”
。所以我想这就是我们扔掉它的原因