从服务器 json 的角度加载数据
Angular loading data from server json
有人可以告诉我在ng repeat中使用jsonObjects的最佳解决方案是什么?我的代码如下:
我的PHP回应是这样的:
die(json_encode(array('sts'=>'success', 'title'=>'*****', 'msg'=>'*******', 'data'=>$result)));
我的角度.js服务是这样的:
LeadApp.service('LeadsService', function ($http) {
var AllLeads = {
async: function() {
var promise = $http({
url: '../app/ServerData.php',
method: "POST",
params: { req_id: 'leads' }
}).then(function (response) {
return response.data;
});
return promise;
}
};
return AllLeads;
});
然后在我的控制器中,我调用服务并设置一个潜在客户变量以在我的视图中使用 ng repeat:我的数据正在加载,我已经保证了。我从下面附上了控制台日志的图片。但不知何故,ng 重复不会像预期的那样工作......我做错了什么?没有错误!
....
LeadsService.async().then(function (d) {
this.leads = d.data;
console.log(this.leads);
this.list_all = this.leads;
这是视图中主要的ng重复部分(自定义ng重复与"dir-paginate"):...
<div class="widget-content leads_list" ng-controller="leadsController as leads">
<tr dir-paginate="lead in leads.list_all | orderBy:sortKey:reverse | filter:search | itemsPerPage:15" pagination-id="leads.list_all">
<td scope="row">{{lead.id}}</td>
。
您需要在
方法之外绑定this
上下文then
。
由于您使用的是 ng-controller="leadsController as leads"
,因此最好绑定到变量 leads
。
var leads = this;
LeadsService.async().then(function (d) {
leads.list_all = d.data;
console.log(leads.list_all);
});
then
方法内部的this
上下文与then
方法外部的this
上下文不同。此外,绑定到模板中使用的相同名称还有助于避免混淆。
this
不是该回调函数上下文中的控制器。因此,您需要将this
分配给控制器中的变量。
var ctrl = this;
LeadsService.async().then(function (d) {
ctrl.leads = d.data;
console.log(ctrl.leads);
相关文章:
- 正在等待呈现图表,直到加载数据为止
- ng绑定和ng href问题.ng href未从控制器加载数据
- 单击按钮时加载数据
- 在reactjs组件中预加载数据
- Highcharts可以从服务器加载数据,但不能更新
- AngularJS promise在加载数据之前得到解决
- 在Knockout JS中搜索从DB加载数据的项目
- 如何在angular js中使用$emit后重新加载数据
- 构建多个图表时,HighCharts加载数据的速度较慢
- 加载初始网站后在后台加载数据
- ExtJS网格未从Ext.data.XmlStore加载数据
- 数据表 AJAX 筛选器重新加载数据
- select2 使用 AJAX 加载数据不能选择任何选项
- 在 Metro 风格应用中启动时加载数据
- 需要帮助使用 AJAX 和其他一些东西加载数据
- Vue 不加载数据
- 向右滚动加载数据
- 为SEO的数据绑定JS预加载数据
- mysql循环-预加载数据
- 无法使用JSON加载数据表