我目前正在尝试用远程数据填充剑道网格。剑道有自己的功能来获取数据,但我想使用我创建的角度工厂。
所以我有一个工厂,它有一个功能“getSkills”。这个函数从我的 api 中获取所有的技能对象。
angular.module('MyApp').factory('Factory', function ($resource) {
return $resource('/api/v1/skills/', { },
{
getSkills: { method: 'GET', isArray: true }
});
});
在我的 SkillController 中,我将这些获取的技能放在一个范围变量中。
$scope.skills = SkillFactory.getSkills();
我在这里初始化剑道网格:
$scope.gridOptions = {
dataSource: {
data: $scope.skills,
schema: {
model: {
fields: {
ID: { type: "number" },
Name: { type: "string" },
CreatedBy: { type: "number" },
CreatedDate: { type: "string" },
EditedBy: { type: "number" },
EditedDate: { type: "string" },
InUse: { type: "boolean" }
}
}
},
pageSize: 20
},
scrollable: true,
sortable: true,
filterable: true,
pageable: {
input: true,
numeric: false
},
selectable: true,
columns: [
{ field: "Name", title: "skillname", width: "130px" }
]
};
大多数时候,ajax 回调比初始化剑道网格要慢。然后它将显示一个空表,因为表的数据未绑定到角度 $scope.skills 变量。
我到处搜索,但我无法弄清楚如何在初始化中为数据属性使用自定义函数,或者如何将范围变量绑定到表。
任何帮助,将不胜感激!