我在ui网格表中显示数据时出现问题。
我已经定义了一个API,我想从中显示数据,我可以通过浏览器访问它们,但问题在于显示渲染数据。这是我的角度控制器,我在其中定义了从API获取数据的函数:
$(function(){
$.fn.my_alert = function(){
var base = this;
base.init = function() {
base.on('click',function(e) { base.onClick(); });
}
base.onClick = function(){
alert(base.attr('data-id'));
}
base.init();
}
});
$(document).ready(function(){
$('.myalert').my_alert();
});
我也试图解析数据 getData();
$scope.myData = [];
$scope.gridOptions.data = []
$scope.gridOptions.data = $scope.myData;
function getData() {
$http.get('/load/').success(function (data) {
data.forEach( function( row, index ) {
$scope.myData.push(data);
});
$scope.gridOptions.data = data;
console.log('data from api', data);
})
};
,但是我收到了一个错误
意外的令牌o
在Object.parse(native)
答案 0 :(得分:1)
使用此功能将数据推送到数组中。在控制台中检查数据,深入查看数据。 (单击箭头)我的数据在.doc中,您的数据可能在另一个属性中。将“items [i] .doc”更改为您数据的正确属性。
// pass data.rows to function items params
// the type is to filter
function fncArray(items,type) {
var filtered = [];
for(var i=0; i < items.length; i++) {
if ( items[i].doc.type = type){
filtered.push(items[i].doc);
}
}
// console.log(filtered);
return filtered;
}
这是在不过滤的情况下使用
// pass data.rows to function items params
function fncArray(items) {
var newData= [];
for(var i=0; i < items.length; i++) {
newData.push(items[i].doc);
}
return newData;
}
答案 1 :(得分:0)
您可以编写$scope.$apply()
来触发控制器中的更改
答案 2 :(得分:0)
此表单中的返回数据应为[&#34; key&#34;:[object,object,object,object]]。
1)使用var jsonObj = JSON.parse(data);
转换此数据
2)成功使用此表达式!$scope.$$phase?$scope.$apply():null;
答案 3 :(得分:0)
我很抱歉,我的错误在这里。不需要解析。我在控制器中定义了错误的columnDefs:facepalm: