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中的float运算精度实例分析
Aug 21 Javascript
JavaScript中的面向对象介绍
Jun 30 Javascript
javascript学习笔记(三)BOM和DOM详解
Sep 30 Javascript
jQuery的context属性用法实例
Dec 27 Javascript
jQuery+正则+文本框只能输入数字的实现方法
Oct 07 Javascript
浅谈angularjs module返回对象的坑(推荐)
Oct 21 Javascript
jquery mobile移动端幻灯片滑动切换效果
Apr 15 Javascript
BootStrap数据表格实例代码
Sep 13 Javascript
vue引入ueditor及node后台配置详解
Jan 03 Javascript
解决npm管理员身份install时出现权限的问题
Mar 16 Javascript
详解webpack-dev-server使用方法
Sep 14 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 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中使用gettext来支持多语言的方法
2011/05/02 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
ThinkPHP中的三大自动简介
2014/08/22 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
用jquery仿做发微博功能示例
2014/04/18 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
js实现div闪烁原理及实现代码
2014/06/24 Javascript
jquery实现用户打分评分特效
2015/05/28 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
使用Karma做vue组件单元测试的实现
2020/01/16 Javascript
原生JS实现音乐播放器
2021/01/26 Javascript
python进阶教程之模块(module)介绍
2014/08/30 Python
python读取Excel实例详解
2018/08/17 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
2020/05/03 Python
python实现代码审查自动回复消息
2021/02/01 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
简历自我评价怎么写呢?
2014/01/06 职场文书
幼儿园教育教学反思
2014/01/31 职场文书
管事部库房保管员岗位职责
2014/02/21 职场文书
安全生产活动月方案
2014/03/09 职场文书
团日活动总结怎么写
2014/06/25 职场文书
关于美容院的活动方案
2014/08/14 职场文书
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
行政二审代理词
2015/05/25 职场文书
老人与海读书笔记
2015/06/26 职场文书
详解Vue的sync修饰符
2021/05/15 Vue.js
Vue Mint UI mt-swipe的使用方式
2022/06/05 Vue.js