【发布时间】:2016-06-29 02:53:53
【问题描述】:
我需要帮助来解决我的问题。我对来自后端的呼叫数据有疑问。请告诉我如何从后端获取数据。
TypeError: 无法读取未定义的属性“长度”
我认为我的控制器无法加载数据。
api
application.factory('API', ['Settings',
function(Settings)
{
var api = {};
api.projects = '/ppr/resource/misbactivecaseJPA';
api.get = function(endpoint)
{
return Settings.host.concat(api[endpoint]);
};
return api;
}
]);
服务
application.factory('Project', ['$resource', 'API',
function($resource, API)
{
return $resource(API.get('projects'), {
Id: '@id',
}, {
delete: {
method: 'DELETE',
},
get: {
method: 'GET',
},
save: {
method: 'POST',
},
query: {
method: 'GET',
isArray: true,
},
update: {
method: 'PUT',
},
});
}]);
控制器
application.controller('Property_ProjectController', ['$location', '$scope', '$mdDialog' , '$mdMedia', 'Project',
function($location, $scope, $mdDialog, $mdMedia, Project)
{
$scope.limit = 50;
$scope.page = 0;
$scope.projects = [];
$scope.query = {
$: '',
};
$scope.load = function()
{
var options = {};
options.limit = $scope.limit;
if (++$scope.page > 1) options.skip = $scope.limit * ($scope.page - 1);
Project.query(options).$promise
.then(function(projects)
{
if (projects.data.length < 1) return;
$scope.projects = $scope.projects.concat(projects.data);
$scope.load();
});
};
$scope.load();
html
<tbody>
<tr ng-repeat="projects in data = (projects | filter:query:regex | orderBy:'name')">
<td>{{ projects.name }}</td>
<td>{{ projects.code }}</td>
<td>{{ projects.description }}</td>
<td>{{ projects.address }}</td>
<td>{{ projects.ProjectId }}</td>
<td><md-button class="md-icon-button"
ng-click="AddProject($event)"
aria-label="{{ 'action_edit' | translate }}">
<md-tooltip>{{ 'action_edit' | translate }}</md-tooltip>
<md-icon>edit</md-icon>
</md-button>
</td>
</tr>
</tbody>
【问题讨论】:
标签: angularjs json html controller