AngularJS中如何使用$http對MongoLab數(shù)據(jù)表進(jìn)行增刪改查
主頁面:
<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的內(nèi)容顯示與toggleAddCourseView和toggleEditCourseView值有關(guān),而toggleAddCourseView和toggleEditCourseView值將通過方法來控制。
在Mongolab上創(chuàng)建數(shù)據(jù)庫和表
→ https://mongolab.com
→ 注冊
→ 登錄
→ Create new
→ 選擇Single-node
勾選Sandbox,輸入Database name的名稱為myacademy。
→ 點(diǎn)擊新創(chuàng)建的Database
→ 點(diǎn)擊Add collection
名稱為course
→ 點(diǎn)擊course這個(gè)collection。
→ 多次點(diǎn)擊add document,添加多條數(shù)據(jù)
控制器
$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>
以上所述是小編給大家分享的AngularJS中如何使用$http對MongoLab數(shù)據(jù)表進(jìn)行增刪改查的相關(guān)知識,希望對大家有所幫助。
- JS基于設(shè)計(jì)模式中的單例模式(Singleton)實(shí)現(xiàn)封裝對數(shù)據(jù)增刪改查功能
- php數(shù)據(jù)庫的增刪改查 php與javascript之間的交互
- Spring boot + mybatis + Vue.js + ElementUI 實(shí)現(xiàn)數(shù)據(jù)的增刪改查實(shí)例代碼(二)
- Spring boot + mybatis + Vue.js + ElementUI 實(shí)現(xiàn)數(shù)據(jù)的增刪改查實(shí)例代碼(一)
- jsp+servlet+jdbc實(shí)現(xiàn)對數(shù)據(jù)庫的增刪改查
- nodejs連接mongodb數(shù)據(jù)庫實(shí)現(xiàn)增刪改查
- Node.js操作mysql數(shù)據(jù)庫增刪改查
- js 如何實(shí)現(xiàn)對數(shù)據(jù)庫的增刪改查
- js實(shí)現(xiàn)提交前對列表數(shù)據(jù)的增刪改查
相關(guān)文章
Angular如何在應(yīng)用初始化時(shí)運(yùn)行代碼詳解
這篇文章主要給大家介紹了關(guān)于Angular如何在應(yīng)用初始化時(shí)運(yùn)行代碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-06-06Angular應(yīng)用prerender預(yù)渲染提高頁面加載速度
這篇文章主要介紹了Angular應(yīng)用prerender預(yù)渲染提高頁面加載速度,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10Angular 數(shù)據(jù)請求的實(shí)現(xiàn)方法
本篇文章主要介紹了Angular 數(shù)據(jù)請求的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05Angular使用操作事件指令ng-click傳多個(gè)參數(shù)示例
這篇文章主要介紹了Angular使用操作事件指令ng-click傳多個(gè)參數(shù),結(jié)合實(shí)例形式分析了AngularJS事件指令及相關(guān)的響應(yīng)、處理操作技巧,需要的朋友可以參考下2018-03-03AngularJS之頁面跳轉(zhuǎn)Route實(shí)例代碼
本篇文章主要介紹了AngularJS之頁面跳轉(zhuǎn)Route ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03