В настоящее время я пытаюсь заполнить сетку кендо удаленными данными. У кендо есть собственная функция для получения данных, но я хочу использовать созданную мной фабрику angular.
Итак, у меня есть фабрика, в которой есть функция «getSkills». Эта функция получает все объекты навыков из моего API.
angular.module('MyApp').factory('Factory', function ($resource) {
return $resource('/api/v1/skills/', { },
{
getSkills: { method: 'GET', isArray: true }
});
});
В моем SkillController в angular я помещаю эти выбранные навыки в переменную области видимости.
$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.
Я искал везде, но я не могу понять, как я могу использовать пользовательскую функцию для атрибута данных при инициализации или как связать переменную области видимости с таблицей.
Любая помощь будет оценена по достоинству!