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 相关文章推荐
50个比较实用jQuery代码段
Sep 18 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
Jan 15 Javascript
js之onload事件的一点使用心得
Aug 14 Javascript
js处理表格对table进行修饰
May 26 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
Feb 14 Javascript
简单谈谈关于 npm 5.0 的新坑
Jun 08 Javascript
用js实现before和after伪类的样式修改的示例代码
Sep 07 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
Nov 22 Javascript
基于Angularjs-router动态改变Title值的问题
Aug 30 Javascript
angularJs在多个控制器中共享服务数据的方法
Sep 30 Javascript
vue中的inject学习教程
Apr 24 Javascript
微信小程序从注册账号到上架(图文详解)
Jul 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 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
jQuery html()方法使用不了无法显示内容的问题
2014/08/06 Javascript
在HTML代码中使用JavaScript代码的例子
2014/10/16 Javascript
javascript常用方法汇总
2014/12/02 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
JavaScript运算符小结
2015/06/03 Javascript
高性能JavaScript 重排与重绘(2)
2015/08/11 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
Es6 写的文件import 起来解决方案详解
2016/12/13 Javascript
微信小程序 图片上传实例详解
2017/05/05 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
Nodejs异步流程框架async的方法
2019/06/07 NodeJs
js 实现碰撞检测的示例
2020/10/28 Javascript
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
使用layui实现左侧菜单栏及动态操作tab项的方法
2020/11/10 HTML / CSS
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
德国家具、照明、家居用品网上商店:Wayfair.de
2020/02/13 全球购物
网上开商店的创业计划书
2014/01/19 职场文书
高三自我评价
2014/02/01 职场文书
中学劳技课教师的自我评价
2014/02/05 职场文书
见习期自我鉴定范文
2014/03/19 职场文书
高三英语教学计划
2015/01/23 职场文书
有趣的二维码:使用MyQR和qrcode来制作二维码
2021/05/10 Python