1
我有一個小型角度應用程序,它具有用於創建任務的表單模板,其中包含父項目。項目實例由路由控制,因此用戶不輸入/編輯這些數據。現在,我仍然需要將project id
的表單發送到後端。用於發送隱藏數據字段的角度最佳做法
模板:
<form name="newTaskForm">
<input ng-model="new_task.title" type="text" id="title" name="title" class="form-control" placeholder="Title" required />
<a class="btn btn-success" ng-click="createTask(new_task)">create</a>
</form>
據我可以告訴有至少4個發送project id
的直線前進的方法。
1.使用模板中的隱藏字段
<form name="newTaskForm">
<!-- HIDDEN -->
<input ng-model="new_task.project" type="hidden" id="project" name="project" class="form-control" value="{{ project.id }}" />
<!-- END HIDDEN -->
<input ng-model="new_task.title" type="text" id="title" name="title" class="form-control" placeholder="Title" required />
<a class="btn btn-success" ng-click="createTask(new_task)">create</a>
</form>
2.初始化與項目ID的new_task
對象模板
<form name="newTaskForm" ng-init="new_task.project = project.id">
<input ng-model="new_task.title" type="text" id="title" name="title" class="form-control" placeholder="Title" required />
<a class="btn btn-success" ng-click="createTask(new_task)">create</a>
</form>
3.初始化new_task
對象與project id
在controller
.controller('TaskCtrl', function ($scope, project) {
$scope.project = project;
$scope.new_task = {project: $scope.project.id}
...
});
4.添加project id
到new_task
對象提交
.controller('TaskCtrl', function ($scope, project) {
$scope.createTask = function(obj) {
// add project id
obj.project = $scope.project.id;
// $http submission
...
};
...
});
我的問題是前 - 有什麼關係?是否有一個實現此目的的首選方法?有沒有更好的辦法?
任何幫助非常感謝。
是的,這是我的預期。感謝您的詳細解答! –