【发布时间】:2015-07-03 23:50:21
【问题描述】:
我正在创建一个简单的 AngularJS SPA,使用 API 将数据加载到 Mongoose。
我的应用只是添加、显示和编辑成员列表。当我只是将成员存储在我的工厂服务中的数组中时它可以工作,但现在我想将其更改为通过 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')
}
}
])
谁能帮忙,它不是一个复杂的应用程序,但我只是在学习,我被困在这里!
谢谢
【问题讨论】:
标签: javascript angularjs node.js api mongoose