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 相关文章推荐
JavaScript进阶教程(第四课第一部分)
Apr 05 Javascript
JavaScript Array扩展实现代码
Oct 14 Javascript
jQuery 选择器理解
Mar 16 Javascript
js删除所有的cookie的代码
Nov 25 Javascript
js实现点小图看大图效果的思路及示例代码
Oct 28 Javascript
jquery动态更换设置背景图的方法
Mar 25 Javascript
jquery利用拖拽方式在图片上添加热链接
Nov 24 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
Sep 04 Javascript
快速搭建React的环境步骤详解
Nov 06 Javascript
关于JavaScript语句后面的分号问题
Dec 07 Javascript
vue打包相关细节整理(小结)
Sep 28 Javascript
详解js静态检查工具eslint配置文件
Nov 23 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
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
2015/04/12 Javascript
javascript相关事件的几个概念
2015/05/21 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
vue实现弹幕功能
2019/10/25 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
利用python获取Ping结果示例代码
2017/07/06 Python
python距离测量的方法
2018/03/06 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
python设置表格边框的具体方法
2020/07/17 Python
css3 中translate和transition的使用方法
2020/03/26 HTML / CSS
德国婴儿推车和儿童安全座椅商店:BABYSHOP
2016/09/01 全球购物
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
机电专业个人自荐信格式模板
2013/09/23 职场文书
企划主管岗位职责
2013/12/12 职场文书
高校辅导员推荐信范文
2013/12/25 职场文书
白酒业务员岗位职责
2013/12/27 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
团队精神的演讲稿
2014/05/14 职场文书
访谈节目策划方案
2014/05/15 职场文书
借款民事起诉状范文
2015/05/19 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
使用 JavaScript 制作页面效果
2021/04/21 Javascript
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript