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 相关文章推荐
Expandable &quot;Detail&quot; Table Rows
Aug 29 Javascript
js实现权限树的更新权限时的全选全消功能
Feb 17 Javascript
javascript 循环读取JSON数据的代码
Jul 17 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
Nov 19 Javascript
分享Javascript中最常用的55个经典小技巧
Nov 29 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
Feb 17 Javascript
JQuery实现展开关闭层的方法
Feb 17 Javascript
纯javascript制作日历控件
Jul 17 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
Jan 26 Javascript
jQuery过滤特殊字符及JS字符串转为数字
May 26 Javascript
好好了解一下Cookie(强烈推荐)
Jun 14 Javascript
原生js实现点击轮播切换图片
Feb 11 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
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
PHP简单系统查询模块代码打包下载
2008/06/07 PHP
javascript Prototype 对象扩展
2009/05/15 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
举例详解AngularJS中ngShow和ngHide的使用方法
2015/06/19 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
2016/12/28 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
Python闭包思想与用法浅析
2018/12/27 Python
Python实现查找二叉搜索树第k大的节点功能示例
2019/01/24 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
海淘零差价,宝贝全球购: 宝贝格子
2016/08/24 全球购物
澳大利亚音乐商店:Bava’s Music City
2019/05/05 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
求职推荐信
2013/10/28 职场文书
商务英语专业应届毕业生求职信
2013/10/28 职场文书
护士自荐信范文
2013/12/15 职场文书
家长学校工作方案
2014/05/07 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
2014年平安建设工作总结
2014/11/19 职场文书
2014年敬老院工作总结
2014/12/08 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
村党总支部公开承诺书2016
2016/03/25 职场文书
Java中的继承、多态以及封装
2022/04/11 Java/Android