使用 $scope 时,角度中的数据会显示并消失
Posted
技术标签:
【中文标题】使用 $scope 时,角度中的数据会显示并消失【英文标题】:Data in angular is getting displayed and disappearing when used $scope 【发布时间】:2016-08-20 00:11:50 【问题描述】:我的 ejs 文件是: 快递应用
</head>
<body data-ng-app="indexHomepage" data-ng-controller="indexController">
<div style="margin:100px;">
<h1>Express!</h1>
<table data-ng-repeat="user in users">
<tr>
<td>
<h4 align="center"><br/><br/>user<br/></h4>
</td>
</tr>
<tr>
</tr>
</table>
</div>
<script src="controller/indexHomepageController.js"></script>
</body>
</html>
我的角度控制器代码是:
var indexHomepage = angular.module('indexHomepage', []);
indexHomepage.controller('indexController', ['$scope', '$http', function ($scope, $http)
$scope.getUsers = function ()
$http.get('/getUsers').success(function (response)
if (response.responseErrorCode == 503)
console.log("No users in database");
else
$scope.users = response;
);
]);
当我将 console.log 放入控制器的其他部分而不是设置 $scope.users 时,即使这样它也会显示并立即消失。但是,如果我删除该功能并保留:
$http.get('/getUsers').success(function (response)
if (response.responseErrorCode == 503)
console.log("No users in database");
else
$scope.users = response;
);
在这里,它可以工作。
我有什么遗漏的吗?
【问题讨论】:
第一种方式时,您是否在某个地方打电话给getUsers()
?
不,我不会在其他任何地方调用 getUsers()
【参考方案1】:
你有 plunker Demo 吗?可能您在 else 块 之外使用 console.log ,并且不要忘记您使用 $ajax 调用所在的 $http 服务一个承诺。
$http.get('/getUsers').then(函数(响应)
if (response.responseErrorCode == 503)
console.log("No users in database");
else
$scope.users = response;
console.log('reponse is ' + JSON.stringfy(response));
).catch(function(err)
console.log('err' + err) ; )
【讨论】:
不,我正在使用 webstorm。并且只需 $http 它就可以工作,但是当我将它放入 $scope 函数时,它就停止工作了。我的意思是数据只是显示并立即消失以上是关于使用 $scope 时,角度中的数据会显示并消失的主要内容,如果未能解决你的问题,请参考以下文章