创建服务组件 在AngularJS中创建一个服务组件很简单,只需要定义一个具有$get方法的构造函数, 然后使用模块的provider方法进行登记: //定义构造函数 var myServiceProvider = function(){ this.$get = function(){ return .... }; }; //在模块中登记 angular.module("myModule",[]) .provider("myService",myServicePro…
AngularJS之使用服务封装可复用代码   创建服务组件 在AngularJS中创建一个服务组件很简单,只需要定义一个具有$get方法的构造函数, 然后使用模块的provider方法进行登记: //定义构造函数 var myServiceProvider = function(){ this.$get = function(){ return .... }; }; //在模块中登记 angular.module("myModule",[]) .provider("mySe…
angularJS之使用指令封装DOM操作 创建指令 指令也是一种服务,只是这种服务的定义有几个特殊要求: 必须使用模块的directive()方法注册服务 必须以对象工厂/factory()方法定义服务实现 对象工厂必须返回一个指令定义对象 //定义指令的类工厂 var directiveFactory = function(injectables){ //指令定义对象 var directiveDefinationObject = { ... }; return directiveDefin…
AngularJS之使用控制器封装业务逻辑 控制器的作用 我们知道,在AngularJS中,实现数据绑定的核心是scope对象.那么控制器又有什么用呢? 简单地说,没有控制器/controller,我们没有地方定义业务模型. 回忆下ng-init指令.我们可以使用ng-init指令在scope对象上定义数据,比如: <div ng-init="sb={name:'somebody',gender:'male',age:28}"> </div> 但是,ng-ini…
测试 AngularJS 的异步服务 最近,在做项目时掉进了 AngularJS 异步调用 $q 测试的坑中,直接躺枪了.折腾了许久日子,终于想通了其中的道道,但并不确定是最佳的解决方案,最后还是决定总结成文以求能与其它的园友共同分享以求找到更好的解决方案. 首先,我的测试环境是 [Karma|http://karma-runner.github.io/0.12/index.html] + [Jasmine|http://jasmine.github.io/] ,这属于 AngularJS的其中…
服务:AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用.AngularJS 内建了30 多个服务. 最常用的服务:$location  服务,  $http 服务, $timeout 服务,$interval 服务,创建自定义服务一:$location服务.$location服务可以返回当前页面的 URL 地址 注意 $location 服务是作为一个参数传递到 controller 中.如果要使用它,需要在 controller 中定义. <div ng-…
让AngularJS的$http 服务像jQuery.ajax()一样工作 $http的post . 请求默认的content-Type=application/json . 提交的是json对象的字符串化数据, . 后端无法从post中获取, . 跨域请求是复杂请求,会发送OPTIONS的验证请求,成功后才真正发起post请求 jQuery.post . 使用的是content-Type=application/x-www-form-urlencoded - . 提交的是form data,…
前言 本篇文章上一篇: 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传) 此篇是在上面的基础上扩展出来专门上传图片的控件封装. 首先我们看看效果: 正文 使用方式同样很简单,首先创建HTML容器如下: <div id="uploader" class="uploaderPic"> </div> 然后页面加载完成后渲染: $(function () { $("#uploader").pow…
本篇使用AngularJS实现订阅某个API服务. 首页大致是: 其中,what's on显示首页内容,Search通过输入关键词调用API服务显示到页面,MyShows显示订阅的内容. Sarch页界面如下: 通过在搜索框中输入关键词,把查询到信息显示在当前页面,并且可以点击订阅和取消订阅按钮. My Shows页界面如下: 显示订阅的内容,并且提供取消订阅按钮. 首先,需要了解API提供方所要求的格式.大致是:http://api.themoviedb.org/3/search/tv?api…
在AngularJS中, 服务是一个比较重要的部分,它是一个对象或者是函数,可以在你的AngularJS的应用中使用.接下来介绍几种比较常用的内建服务以及自定义服务的方法. [内建服务] (1)location服务 location服务返回当前页面的地址,需要注意的是location服务是作为一个参数传递到 controller 中.如果要使用它,需要在 controller 中定义. >>>代码部分 <body> <div ng-app="myApp&quo…