AngularJS中如何使用$http对MongoLab数据表进行增删改查


Posted in Javascript onJanuary 23, 2016

主页面:

<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
→ 注册
→ 登录
→ Create new
→ 选择Single-node

勾选Sandbox,输入Database name的名称为myacademy。

→ 点击新创建的Database
→ 点击Add collection

名称为course

→ 点击course这个collection。
→ 多次点击add document,添加多条数据

控制器

$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数据表进行增删改查的相关知识,希望对大家有所帮助。

Javascript 相关文章推荐
jquery ajax 调用失败的原因示例介绍
Sep 27 Javascript
json的定义、标准格式及json字符串检验
May 11 Javascript
jQuery检测输入的字符串包含的中英文的数量
Apr 17 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
Jun 19 Javascript
vue2.0 中使用transition实现动画效果使用心得
Aug 13 Javascript
vue debug 二种方法
Sep 16 Javascript
jQuery实现的五星点评功能【案例】
Feb 18 jQuery
微信小程序 冒泡事件原理解析
Sep 27 Javascript
js 获取扫码枪输入数据的方法
Jun 10 Javascript
解决vue页面渲染但dom没渲染的操作
Jul 27 Javascript
Vuex实现简单购物车
Jan 10 Vue.js
Vue3.0中Ref与Reactive的区别示例详析
Jul 07 Vue.js
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
Jan 23 #Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
Jan 23 #Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
Jan 23 #Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
Jan 23 #Javascript
AngularJS使用ngOption实现下拉列表的实例代码
Jan 23 #Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
Jan 23 #Javascript
javascript实现全角转半角的方法
Jan 23 #Javascript
You might like
php引用传值实例详解学习
2013/11/06 PHP
php 中奖概率算法实现代码
2017/01/25 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
javascript实现禁止复制网页内容
2014/12/16 Javascript
jQuery插件实现图片轮播特效
2016/06/16 Javascript
深入理解jQuery layui分页控件的使用
2016/08/17 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
python批量同步web服务器代码核心程序
2014/09/01 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
python使用正则筛选信用卡
2019/01/27 Python
python文件选择对话框的操作方法
2019/06/27 Python
Python项目跨域问题解决方案
2020/06/22 Python
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
美德少年事迹材料
2014/01/23 职场文书
社团招新策划书
2014/02/04 职场文书
哈弗商学院毕业生求职信
2014/02/26 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
学校运动会广播稿
2014/10/11 职场文书
大学毕业生自我评价
2015/03/02 职场文书
医院见习总结
2015/06/24 职场文书
超市店长竞聘书
2015/09/15 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书