代码改变世界

AngularJS开发中常用的写法,如:获取URL参数、路由跳转、$http、获取元素等

2015-07-25 14:15  Loull  阅读(19601)  评论(0编辑  收藏  举报

控制器,带状态

app.controller('editCtrl', ['$http', '$location', '$rootScope', '$scope', '$state', '$stateParams', function($http, $location, $rootScope, $scope, $state, $stateParams){
    // 上边声明添加显示的依赖注入,是为了防止,压缩(如UglifyJS)时改变function里的参数名,造成功能引用失败。推荐r.js压缩
    // do something...
}

获取路由的参数

$stateParams.id // #/camnpr/editCtrl?id=1

跳转路由状态

$state.go('camnpr.appManager'); // 跳转后的URL: #/camnpr/appManager 
$location.path('camnpr/appManager'); // 功能也是跳转的

ui-router扩展的跳转方式

<a ui-sref="camnpr.appManager">跳转</a> // 需要angular-ui-router

ng-repeat里显示序号: $index // 这个是从0计数的。

 

get请求

$http({
&nbsp; &nbsp; method: 'get',
&nbsp; &nbsp; url: 'http://camnpr.com/getAPI/',
&nbsp; &nbsp; params:{id: 1}, 
&nbsp; &nbsp; headers: {'x-camnpr-uid': '1000'}//可以加入任意的头信息
 });

 

 

post请求

$http({
&nbsp; &nbsp; method: 'post',
&nbsp; &nbsp; url: 'http://camnpr.com/postAPI/',
&nbsp; &nbsp; data:'id=1&referrer=camnpr.com', // 这里是字符串,格式请注意,同时我们可以使用 $.param({id:1, referrer: 'camnpr.com'})来获取等价的形式。
&nbsp; &nbsp; // Form Data获取方式 Request.Form['id'] 。 
&nbsp; &nbsp; //这是加'Content-Type': 'application/x-www-form-urlencoded',的功劳。
&nbsp; &nbsp; // 若不加'Content-Type',则:Request Payload:id=1&referrer=camnpr.com
&nbsp; &nbsp; // data: {id: 1, referrer: 'camnpr.com'}, // 是对象,那么 Form Data的数据是:{"id":1,"referrer":"camnpr.com"}:
&nbsp; &nbsp; headers: {'Content-Type': 'application/x-www-form-urlencoded', 'x-camnpr-uid': '1000'}
 });

  

根据selector获取元素

angular.element('.is_select') // [<input type="checkbox" value="1" class="is_select">]

循环获取并操作

angular.forEach(document.getElementsByClassName('is_select'), function(item, index){
&nbsp; &nbsp; if(item.checked){
&nbsp; &nbsp; &nbsp; &nbsp; ids+=item.value+',';
&nbsp; &nbsp; }
});

ng-click里带当前的a,button等的事件

<button ng-click="camnpr.submitAdd($event)" class="btn btn-primary ladda-button" data-style="zoom-in"><span class="ladda-label">提交</span></button> // $event.target.currentTarget