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导出txt示例代码
Jan 14 Javascript
深入了解Node.js中的一些特性
Sep 25 Javascript
jQuery的end()方法使用详解
Jul 15 Javascript
javascript实现unicode与ASCII相互转换的方法
Dec 10 Javascript
深入理解requestAnimationFrame的动画循环
Sep 20 Javascript
Js面试算法详解
Apr 08 Javascript
解决layui 复选框等内置控件不显示的问题
Aug 14 Javascript
微信小程序显示倒计时功能示例【测试可用】
Dec 03 Javascript
vue-cli3项目展示本地Markdown文件的方法
Jun 07 Javascript
Vue3.x源码调试的实现方法
Oct 13 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
Mar 01 Javascript
uniapp引入支付宝原生扫码插件步骤详解
Jul 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
PHP调用三种数据库的方法(1)
2006/10/09 PHP
来自phpguru得Php Cache类源码
2010/04/15 PHP
php使用正则表达式获取图片url的方法
2015/01/16 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
javascript 3d 逐侦产品展示(核心精简)
2014/03/26 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
vue项目中使用bpmn-自定义platter的示例代码
2020/05/11 Javascript
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
关于python的list相关知识(推荐)
2017/08/30 Python
Python matplotlib绘图可视化知识点整理(小结)
2018/03/16 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
matplotlib 范围选区(SpanSelector)的使用
2021/02/24 Python
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
大学班级计划书
2014/04/29 职场文书
公司担保书格式范文
2014/05/12 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
2015年学校管理工作总结
2015/07/20 职场文书
幼儿园教师教学反思
2016/03/02 职场文书
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS
5种方法告诉你如何使JavaScript 代码库更干净
2021/09/15 Javascript
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers