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 28 Javascript
JavaScript设计模式之单件模式介绍
Dec 28 Javascript
jQuery实现的支持IE的html滑动条
Mar 16 Javascript
JavaScript下的时间格式处理函数Date.prototype.format
Jan 27 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
Sep 20 Javascript
基于jPlayer三分屏的制作方法
Dec 21 Javascript
ES6中Math对象的部分扩展
Feb 20 Javascript
原生JS实现ajax与ajax的跨域请求实例
Dec 01 Javascript
vue2使用keep-alive缓存多层列表页的方法
Sep 21 Javascript
webpack-mvc 传统多页面组件化开发详解
May 07 Javascript
手把手教您实现react异步加载高阶组件
Apr 07 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
Apr 26 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
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
PHP simplexml_load_string()函数实例讲解
2019/02/03 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
JS表单数据验证的正则表达式(常用)
2017/02/18 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
vuejs实现折叠面板展开收缩动画效果
2018/09/06 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
vue父子组件通信的高级用法示例
2019/08/29 Javascript
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python与shell的3种交互方式介绍
2015/04/11 Python
Python实现数据库编程方法详解
2015/06/09 Python
python字符串string的内置方法实例详解
2018/05/14 Python
win10 64bit下python NLTK安装教程
2018/09/19 Python
对Python中list的倒序索引和切片实例讲解
2018/11/15 Python
python读取excel数据绘制简单曲线图的完整步骤记录
2020/10/30 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
2021/01/27 Python
兰蔻英国官网:Lancome英国
2019/04/30 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
乡镇保密工作责任书
2014/07/28 职场文书
公司外出活动方案
2014/08/14 职场文书
开展创先争优活动总结
2014/08/28 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP
图文详解nginx日志切割的实现
2022/01/18 Servers
如何用H5实现好玩的2048小游戏
2022/07/23 HTML / CSS
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技