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 validate 自定义验证方法介绍 日期验证
Feb 27 Javascript
jQuery实现的在线答题功能
Apr 12 Javascript
JS提交form表单实例分析
Dec 10 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
Dec 11 Javascript
AngularJS实现星星等级评分功能
Sep 24 Javascript
JS实现的相册图片左右滚动完整实例
Nov 23 Javascript
Angular动态添加、删除输入框并计算值实例代码
Mar 29 Javascript
vue 开发之路由配置方法详解
Dec 02 Javascript
Vue实现图片与文字混输效果
Dec 04 Javascript
javascript实现弹出层效果
Dec 10 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
Jul 09 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
Jan 06 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程序的php代码
2008/04/07 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
php创建图像具体步骤
2017/03/13 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
thinkphp5框架实现的自定义扩展类操作示例
2019/05/16 PHP
js各种验证文本框输入格式(正则表达式)
2010/10/22 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
JavaScript的数据类型转换原则(干货)
2018/03/15 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
python对url格式解析的方法
2015/05/13 Python
Python中文字符串截取问题
2015/06/15 Python
解读Django框架中的低层次缓存API
2015/07/24 Python
Python 加密的实例详解
2017/10/09 Python
win7+Python3.5下scrapy的安装方法
2018/07/31 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
销售找工作求职信
2013/12/20 职场文书
厂长助理岗位职责
2013/12/27 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
乡镇党员群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python
Python中的嵌套循环详情
2022/03/23 Python