1
我正在使用API将数据加载到Mongoose中来创建一个简单的AngularJS SPA。使用API和Mongoose的AngularJS SPA
我的应用程序只是添加,显示和编辑成员列表。它在我将工厂服务中的成员存储在数组中时起作用,但现在我想通过API将其更改为连接到Mongoose。
厂
app.factory('SimpleFactory', ['$http', function($http){
var factory = {};
var members = $http.get('/api/members')
factory.getMembers = function()
{
return members = $http.get('/api/members');
}
factory.getMember = function (index) {
if (index >=0 && index < members.length) {
return members[index] = $http.get('/api/members/' + member_id)
}
return undefined
}
factory.addMember = function(member) {
return $http.post('/api/members',member)
}
factory.updateMember = function(index,member) {
$http.put('/api/members/' + member_id, member)
}
return factory;
}])
控制器
app.controller('MembersController', ['$scope','SimpleFactory',
function ($scope,SimpleFactory) {
SimpleFactory.getMembers()
.success(function(members) {
$scope.members = members;
});
$scope.addMember = function()
{
var member = {
name: $scope.newMember.name,
address: $scope.newMember.address,
age : $scope.newMember.age,
level : $scope.newMember.level,
swimmer : $scope.newMember.swimmer,
email : $scope.newMember.email,
regdate : $scope.newMember.regdate,
}
SimpleFactory.addMember(member)
.success(function(added_member)
{
$scope.members.push(added_member);
$scope.newMember = { }
} );
}
}])
但我不知道如何改变我的控制器,用于更新一员,它有如下编码从拿起成员在我的工厂设置中的数组,我如何编码以通过API从Mongoose中获取成员:
app.controller('MemberDetailController', ['$scope', '$location', '$routeParams', 'SimpleFactory',
function($scope, $location, $routeParams, SimpleFactory) {
$scope.member = {
index: $routeParams.member_index,
detail: SimpleFactory.getMember($routeParams.member_index)
}
$scope.updateMember = function() {
SimpleFactory.updateMember($scope.member.index,
$scope.member.detail)
$location.path('/members')
}
}
])
任何人都可以帮忙,它不是一个复杂的应用程序,但我只学习,我卡在这里!
感谢
感谢pankajpakar,您怎么看这个应该怎么努力updateMember:? “$ scope.updateMember =函数(){ SimpleFactory.updateMember($ scope.member.index, $ scope.member.detail) $ location.path( '/成员') }” – thirty
@thirty看看更新的答案和做upvote如果它确实帮助你,THanks :) –
感谢pankajpakar – thirty