我使用角度js构建社交网络应用程序。我对绑定数据有一个疑问。有一个时间轴div,显示所有最近的帖子。此外,顶部还有一个状态更新程序。现在,在页面加载时,我向数据库发送ajax($ http)服务并查询所有帖子,生成获取json数据,然后使用ng-bind将其绑定到div。假设,现在更新状态,如何在不刷新页面的情况下将更新后的数据显示在我的视图中?我对此感到困惑。请帮帮我。
谢谢, 帕
wall.controller('mainData', function($scope, $http)
{
$scope.status = {};
$scope.updatedStatus = {};
$scope.getStatus = function(){
var uid = localStorage.getItem('_id');
$http({
method: "GET",
url: "http://localhost:8000/profile/status/"+uid
}).success(function (data, status, headers, config) {
$scope.updatedStatus =data;
})
}
和html部分
<div class="card" ng-controller="mainData" ng-repeat="item in updatedStatus">
<div class="card-header">
<div class="media">
<div class="pull-left">
<img class="lv-img" src="img/profile-pics/2.jpg" alt="">
</div>
<div class="media-body m-t-5">
<h2><a href="profile.html" class="a-title">{{item.firstname+" "+item.lastname}}</a><small>{{item.record_time}}</small></h2>
</div>
</div>
</div>
<hr/>
<div class="card-body card-padding">
<p>{{item.message}} </p>
</div>
</div>
我从服务器获取的JSON数组
[
{firstname: "Pavan"
id: 1
lastname: "Kumar"
message: "This is my first update"
record_time: "10/16/2015, 8:32:16 PM"},
{firstname: "LOL"
id: 2
lastname: "test"
message: "This is my second update"
record_time: "10/16/2015, 8:32:16 PM"}
]
正如我所说,在向服务器添加新值后,也没有显示任何内容,也没有显示包含当前数据的数据。但是服务器返回了json对象,没有显示错误。 ng-repeat可能有问题吗? 。非常感谢任何帮助。 :)
答案 0 :(得分:2)
您的数据存在3个地方
1-数据库
2- javascript对象
3- html视图
所以如果你做了一个绑定,javascript对象中的值将与html视图
相同因此,如果您更改了javascript对象中的值,它将在视图中更改 在你的问题中你说过
我向DB发送ajax($ http)服务
我不知道你是否使用了角度$ http服务或另一个但是如果你使用角度函数就没有问题但是如果你使用非角度函数来获取http请求你需要调用此函数请求的回调函数的结尾
$scope.$apply();
要求摘要循环工作并在视图上应用您的更改