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 相关文章推荐
js 日期转换成中文格式的函数
Jul 07 Javascript
validator验证控件使用代码
Nov 23 Javascript
基于jquery实现漂亮的动态信息提示效果
Aug 02 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
May 03 Javascript
jquery特效 幻灯片效果示例代码
Jul 16 Javascript
Egret引擎开发指南之发布项目
Sep 03 Javascript
easyui Droppable组件实现放置特效
Aug 19 Javascript
JavaScript中this的9种应用场景及三种复合应用场景
Sep 12 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
May 03 Javascript
mac上node.js环境的安装测试
Jul 03 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
Aug 25 Javascript
浅谈函数调用的不同方式,以及this的指向
Sep 17 Javascript
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语法(2)
2006/10/09 PHP
基于mysql的论坛(6)
2006/10/09 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
js单独获取一个checkbox看其是否被选中
2014/09/22 Javascript
浅谈document.write()输出样式
2015/05/07 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
从零学Python之入门(五)缩进和选择
2014/05/27 Python
python通过pil模块获得图片exif信息的方法
2015/03/16 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
python能自学吗
2020/06/18 Python
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
Habitat家居英国官方网站:沙发、家具、照明、厨房和户外
2019/12/12 全球购物
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
毕业生就业自荐信
2013/12/04 职场文书
党日活动总结
2014/05/07 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
入党积极分子批评与自我批评思想汇报
2014/09/14 职场文书
公司收款委托书范本
2014/09/20 职场文书
python 实现定时任务的四种方式
2021/04/01 Python
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis