我在做一個在線教程,他們教你使用MEAN製作一個簡單的web應用程序。下面的代碼用於編輯給定的JSON對象集合(視頻是JSON對象這裏) 集合在 /api/videos
所以我必須點擊一個href="/#/video/{{video._id}}
這需要我到form.html,我可以選擇編輯JSON對象的'標題'和'描述'參數。 似乎我無法理解的是:我無法理解此代碼的工作流程
一)這是爲什麼(全在問題下面的代碼)需要
var Videos = $resource('/api/videos/:id', { id: '@_id' },
{
update: { method: 'PUT' }
});
因爲我對href="/#/video/{{video._id}}
我不能直接把ID從網址
var Videos=$resource('api/videos)
Videos.get({ id: $routeParams.id }, function(video){
$scope.video = video;
});
b)Whait是工作流(即當是router.get()請求正好製成,)提出的router.put()請求 根據我的時候,當我點擊保存按鈕控制器發出放置請求t o的API,但我不知道什麼時候router.get()請求正在作出
我想讀取明確和角度的文件,但他們似乎並沒有解釋工作流程。 你能否也請告訴我應該閱讀哪些內容以獲得更好的理解?
這是form.html代碼
<h1>Add a Video</h1>
<form>
<div class="form-group">
<label>Title</label>
<input class="form-control" ng-model="video.title"></input>
</div>
<div>
<label>Description</label>
<textarea class="form-control" ng-model="video.description"></textarea>
</div>
<input type="button" class="btn btn-primary" value="Save" ng-click="save()"></input>
</form>
這是控制器代碼
app.controller('EditVideoCtrl', ['$scope', '$resource', '$location', '$routeParams',
function($scope, $resource, $location, $routeParams){
var Videos = $resource('/api/videos/:id', { id: '@_id' },
{
update: { method: 'PUT' }
});
Videos.get({ id: $routeParams.id }, function(video){
$scope.video = video;
});
$scope.save = function(){
Videos.update($scope.video, function(){
$location.path('/');
});
}
}]);
這是API端點代碼
router.get('/:id', function(req,res){
var collection =db.get('videos');
collection.findOne({_id: req.params.id},function(err,video){
if(err) throw err;
res.json(video);
});
});
router.put('/:id', function(req, res){
var collection=db.get('videos');
collection.update({_id:req.params.id},
{title: req.body.title,
description: req.body.description
},
function (err,video)
{if (err) throw err;
res.json(video);
});
});