メインページ:
<button ng-click="loadCourse()">Load Course</button> <button ng-click="toggleAddCourse(true)">Add New Course</button> <ng-includce src="'course_list.html'"></ng-include> <ng-include src="'add_course.html'" ng-show="toggleAddCourseView"></ng-include> <ng-include src="'edit_course.html'" ng-show="toggleEditCourseView"></ng-include>
上記、ページに表示されるcourse_list.html、add_course.html、edit_course.htmlの内容表示はtoggleAddCourseViewとtoggleEditCourseViewの値に関係しており、toggleAddCourseViewとtoggleEditCourseViewの値はメソッドで制御されます。
Mongolab でデータベースとテーブルを作成する
→ https://mongolab.com
→ 登録
→ログイン
→新規作成
→ 単一ノードを選択
サンドボックスにチェックを入れ、データベース名に「myacademy」と入力します。
→ 新しく作成したデータベースをクリックします
→ [コレクションを追加] をクリックします
名前はコースです
→コースコレクションをクリックします。
→ 複数のデータを追加するには、ドキュメントの追加を複数回クリックします
コントローラー
$scope.courses = []; var url = "https://api.mongolab.com/api/1/databases/my-academy/collections/course?apiKey=myAPIKey"; var config = {params: {apiKey: "..."}}; $scope.toggleAddCourseNew = false; $scope.toggleEditCourseView = false; //列表 $scope.loadCourses = function(){ $http.get(url, config) .success(function(data){ $scope.courses = data; }); } //添加 $scope.addCourse = function(course){ $http.post(url, course, config) .success(function(data){ $scope.loadCourses(); }) } //显示修改 $scope.editCourse = function(course){ $scope.toggleEditCourseView = true; $scope.courseToEdit = angular.copy(course); } //修改 $scope.updateCourse = function(courseToEdit){ var id = courseToEdit._id.$oid; $http.put(url + "/" + id, courseToEdit, config) .success(fucntion(data){ $scope.loadCourses(); }) } //删除 $scope.delteCourse = function(course){ var id = course._id.$oid; $http.delete(url+ "/" + id, config) .success(function(data){ $scope.loadCourses(); }) } $scope.toggleAddCourse = function(flag){ $scope.toggleAddCourseView = flag; } $scope.toggleEditCourse = fucntion(flag){ $scope.toggleEditCourseView = flag; }
course_list.html リスト
<tr ng-repeat="course in courses"> <td>{{$index+1}}</td> <td>{{course.name}}</td> <td>{{course.category}}</td> <td>{{course.timeline}}</td> <td>{{course.price | currency}}</td> <td><button ng-click="editCourse(course)">Edit</button></td> <td><button ng-click="deleteCourse(course)">Delete</button></td> </tr>
add_course.html 追加
<form> <input type="text" ng-model = "course.name" /> <select ng-model="course.category"> <option>-Select-</option> <option value="development">Development</option> <option value="business">Business</option> </select> <input type="number" ng-model="course.timeline" /> <input type="number" ng-model="course.price"/> <button ng-click="addCourse(course)">Add</button> <button ng-click="toggleAddCourse(false)">Cancel</button> </form>
edit_course.html 更新
<form> <input type="text" ng-model="courseToEdit.name" /> <select ng-model ="courseToEdit.category"> <option>-select-</option> <option value="development">Development</option> <option value="business">Business</option> </select> <input type="number" ng-model="courseToEdit.timeline"/> <input type="number" ng-model="courseToEdit.price"/> <button ng-click="updateCourse(courseToEdit)">Update</button> <button ng-click="toggleEditCourse(false)">Cancel</button> </form>
上記は、$http を使用して AngularJS で MongoLab データ テーブルを追加、削除、変更、クエリする方法について編集者が共有した知識です。皆様のお役に立てれば幸いです。