我遇到了这个angularJs问题,即使存在绑定,数组中的更改也不会更新DOM。
我尝试了使用$ scope。$ apply,$ scope。$ evalAsync进行的所有操作,还尝试使用vm而不是$ scope。
AngularJs代码:
app.controller("controller", function ($scope){
$scope.managers = [];
$scope.RefreshManagerList = async function(){
var response = await App.getStoreManagers();
$scope.managers = response;
};
$scope.Setup = async function(){
await App.start();
await $scope.RefreshManagerList();
};
$scope.Setup();
});
HTML代码:
<header>
<h1>Administrator Panel</h1>
</header>
<div class="jumbotron">
<h3>Store Manager List</h3>
<ul class="list-group">
<li class="list-group-item" ng-repeat="manager in managers">
{{manager}}
</li>
</ul>
</div>
可以预期的是,将$ scope.managers设置为response时,该列表应在HTML页面中呈现。
尝试执行此操作也不起作用。 Console.log仍然提供预期的对象以显示在列表中。如果我以最小的方式与页面互动,列表将自动加载:
app.controller("administratorController", function ($scope){
$scope.managers = {content: null};
$scope.RefreshManagerList = function(){
App.getStoreManagers().then(function(response){
$scope.managers.content = response;
console.log($scope.managers.content);
});
};
$scope.Setup = function(){
App.start().then(function(){
$scope.RefreshManagerList();
});
};
$scope.Setup();
});