【发布时间】:2015-05-14 14:01:24
【问题描述】:
我必须使用 spring 和 angularjs 显示来自 mongodb 数据库的一些数据。数据被提取到 Angular js 的 service.js 方法,但它没有显示到 html 文件中,因为它没有返回到控制器。
UserNotification.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<!-- <h2>Approve/Reject Pending Task</h2> -->
<div class="row">
<table class="table table-bordered">
<thead>
<tr>
<th style="text-align: center;">Task name</th>
<th style="text-align: center;">Owner name</th>
<th style="text-align: center; width: 25px;">Approve</th>
<th style="text-align: center; width: 25px;">Reject</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="task in taskDetails">
<td>{{task.name}}</td>
<td>{{task.owners.ownerName.id}}</td>
<td style="width:70px;text-align:center;"><button class="btn btn-mini btn-primary" ng-click="approveTask(taskDetails.indexOf(task), task)">Approve</button></td>
<td style="width:70px;text-align:center;"><button class="btn btn-mini btn-danger" ng-click="rejectTask(taskDetails.indexOf(task), task)">Reject</button></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
controller.js
releaseApp.controller('UserNotificationController', function($scope, $location, $http, UserNotificationService) {
$scope.taskDetails = [];
init();
function init() {
$scope.photos = UserNotificationService.getTask();
console.log('inside controller: '+$scope.taskDetails);
}
});
service.js
releaseApp.factory('UserNotificationService', function($http){
var taskDetails = [];
var factory = {};
factory.getTask = function() {
$http.get('userNotification/fetchTaskForApproval').success(function(data, status, headers, config) {
photos = data;
console.log('inside service method'+taskDetails);
return taskDetails;
});
};
return factory;
});
// response i am getting in chrome console :
//inside controller: undefined
//inside service method[object Object],[object Object]
【问题讨论】:
-
我假设您已经在 html 中添加了 ng-app 和 ng-controller ...以及引用 js 文件 ...
-
console.log('inside controller: '+$scope.photos);
-
你没有推送任务详情
-
JqueryKing : 我确实在 console.log('inside controller: '+$scope.photos);但我得到的回应是一样的。
-
我是 angularjs 新手,所以请告诉我如何推送任务详情。从过去 1 周开始,我就陷入了困境。
标签: angularjs mongodb spring-mvc angularjs-scope angular-promise