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验证IP及子网掩码的合法性有效性示例
Apr 30 Javascript
javascript 小数取整简单实现方式
May 30 Javascript
整理Javascript基础入门学习笔记
Nov 29 Javascript
返回函数的JavaScript函数
Jun 14 Javascript
jQuery如何跳转到另一个网页 就这么简单
Dec 28 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
Jan 11 Javascript
一个Vue页面的内存泄露分析详解
Jun 25 Javascript
使用puppeteer爬取网站并抓出404无效链接
Dec 20 Javascript
ES6 Set结构的应用实例分析
Jun 26 Javascript
JS数组Reduce方法功能与用法实例详解
Apr 29 Javascript
ES6对象操作实例详解
May 23 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
May 28 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
SMARTY学习手记
2007/01/04 PHP
PHP stripos()函数及注意事项的分析
2013/06/08 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
PHP常用技巧汇总
2016/03/04 PHP
php 函数中静态变量使用的问题实例分析
2020/03/05 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
2011/01/06 Javascript
原生js和jQuery实现淡入淡出轮播效果
2015/12/25 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
2017/09/20 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
详解Django通用视图中的函数包装
2015/07/21 Python
python装饰器初探(推荐)
2016/07/21 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
Python3.6简单反射操作示例
2018/06/14 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
Python猜数字算法题详解
2020/03/01 Python
python实现批处理文件
2020/07/28 Python
详解python方法之绑定方法与非绑定方法
2020/08/17 Python
Python调用ffmpeg开源视频处理库,批量处理视频
2020/11/16 Python
巴西在线鞋店:Shoestock
2017/10/28 全球购物
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
勾股定理课后反思
2014/04/26 职场文书
大学生通用个人自我评价
2014/04/27 职场文书
开学典礼策划方案
2014/05/28 职场文书
统招统分证明
2015/06/23 职场文书
养成教育工作总结
2015/08/13 职场文书
婚庆答谢词大全
2015/09/29 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
2023/05/08 MySQL