第一步:命名空间
var applyAppModule=angular.module('apply-app' ,[]); 
 
第二步:控制器 ng-controller="ApplyController"
applyAppModule.controller('ApplyController', function($scope,$http){
 
});
第三步:监听器  //ng-click="change($index)"
applyAppModule.controller('ApplyController', function($scope,$http){
     $scope.change= function(index){ 
            httpStatus($scope.items[index]);
     }
});
第四步:过滤器  //ng-bind="item.status|status_filter"
applyAppModule.filter( "status_filter", function() {
                   var filterfun = function(code) {
                         var result = "";
                           ........
                         return result;
                  };
       return filterfun;
});
 
第五步:http请求
 
AngularJS 提供了一个类似jquery的$.ajax的对象,用于异步请求。
在AngularJS中对异步操作是推崇至极的,所以$http的操作都是异步的不像jquery.ajax里还提供了async参数。
 
 如果你是POST请求,params里的数据会帮你拼到url后面,data里的数据会放到请求体中。

/* http start */

$http({
method : 'POST',
url : "/MobileMedical/suser/applylist", //请求地址
data :$.param({ //携带数据
"offset":0,
"limit":6
}),
headers : {
'Content-Type' : 'application/x-www-form-urlencoded'
}
}).success( function(response) {
if (response.rows != "") {
$scope.items = response.rows;
initPagination($scope, $http, response.total, LIMIT);
} else {
alert( '查询列表为空' );
}
});
/* http end */

或者这种格式:

   $http({
  method : 'POST',
  params : { id:123},
  data: { name:'john',age:27 },
  url : "/mypath"
})
.success(function(response, status, headers, config){
//do anything what you want;
})
.error(function(response, status, headers, config){
//do anything what you want;
});
实例:
(1)html部分 : index.html

<!DOCTYPE html>
<html lang="en" ng-app="indexApp">
<head>
<meta charset="UTF-8">
<title>首页</title>
<!-- Bootstrap -->
<link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="/stylesheets/base.css" rel="stylesheet" media="screen">
<link href="/stylesheets/style.css" rel="stylesheet" media="screen">
</head>
<body ng-controller="indexCtrl"> <div class="container-fluid" style="margin-top: 60px;">
<div class="col-md-8 col-md-offset-2">
<div class="login-log">
<img src="/images/login-logo.png">
</div> <!--搜索框-->
<div class="input-group col-md-12">
<input type="text" ng-init="search.keyword=''" ng-model="search.keyword" class="form-control" ng-keyup="onKeyup($event)" placeholder="请输入应用关键字" aria-describedby="basic-addon1">
<span class="input-group-addon bg-primary" ng-click="toSearch()" >搜索</span>
</div> <!--loading-->
<div class="row tc mt120 pa col-md-offset-5" id="loading">
<img src="/images/loading.gif" />
</div> <!--表格-->
<div class="table-responsive">
<table class="table table-striped table-hover mt20" >
<thead>
<tr>
<th>应用名称</th>
<th>Android包名</th>
<th>MD5签名</th>
<th>IOS包名</th>
<th>创建时间</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in result.list" ng-click="seemore($index)">
<td ng-bind="item.appName"></td>
<td ng-bind="item.package | text_filter"></td>
<td ng-bind="item.signMD5 | text_filter"></td>
<td ng-bind="item.bundleId | text_filter"></td>
<td ng-bind="item.createTime | ms_filter"></td>
</tr>
</tbody>
</table>
</div> </div>
</div> </body>
<script src="/javascripts/lib/jquery.min.js" ></script>
<script src="/javascripts/lib/jquery.cookie.js" ></script>
<script src="/javascripts/lib/angular.min.js" ></script>
<script src="/bootstrap/js/bootstrap.min.js" ></script>
<script src="/javascripts/indexCtrl.js"></script>
<script src="/javascripts/lib/pagination.js"></script>
</html>

(2)javascript部分 : indexCtrl.js

//实例化命名空间
var app=angular.module('indexApp' ,['paginationAPP']); //取cookie中的用户信息
var userObj = $.cookie('userObj' ); //json字符串
var userObj = JSON.parse(userObj); //对象 app.controller('indexCtrl', function($scope,$http){ //将用户信息存入$scope中
$scope.userObj = userObj; // 初始化页面数据
init({
pId:userObj.cid
}); // 监听搜索框 keyup事件
$scope.onKeyup = function(e){
var keycode = window.event?e.keyCode:e.which;
if(keycode==13){ //重新请求
init({
pId:userObj.cid,
search:$scope.search.keyword
});
}
} //监听搜索按钮的ng-click事件
$scope.toSearch=function(){
var search=$scope.search;
var params={
pId:userObj.cid,
search:search.keyword
};
init(params); //重新请求
} //监听 ng-click事件,查看详情
$scope.seemore=function(index){
var obj=$scope.result.list[index];
//对象转成json字符串,存入cookie
var appObj= JSON.stringify(obj);
$.cookie( 'appObj' , appObj , { path : "/" });
window.location.href="/SocialManage/page/info";
} //初始化方法
function init(params){
$http({
method : 'GET',
params :params,
url : "/SocialManage/api/appInfo/getList"
})
.success(function(response, status, headers, config){
$("#loading").hide();
console.log("back indexController ....");
console.log(response);
$scope.result=response;
$scope.paginationConf.totalItems=response.count;
})
.error(function(response, status, headers, config){ });
} }); // 过滤器
app.filter( "user_img_filter", function() { //用户头像 过滤器
var filterfun = function(code) { if(!codem || code==""){ return "/images/logo.png"; }else{ return code; } };
return filterfun;
}).filter("ms_filter", function() { //毫秒转时间 过滤器 var filterfun = function(code) {
var result = new Date(parseInt(code)).toLocaleString();
return result;
};
return filterfun;
}).filter( "text_filter", function() { //文字长度 过滤器
var filterfun = function(code) {
var result = code.length > 20 ? code.substr(0,20) :code;
return result;
};
return filterfun;
});
 

如何创建AnjularJS项目的更多相关文章

  1. 创建maven项目(cmd 命令)

    2016五月 22 原 创建maven项目(cmd 命令) 分类:maven (994) (0) 1.普通方式创建 1)进入cmd窗口执行 mvn archetype:generate 2) 光标停止 ...

  2. (八)Eclipse创建Maven项目运行mvn命令

    1.Eclipse创建Maven项目 使用Eclipse创建一个Maven项目非常的简单,选择菜单项File>New>Other(也可以在项目结构空白处右击鼠标键),在弹出的对话框中选择M ...

  3. Jenkins创建Maven项目及SSH部署

    前面我们已经安装了Jenkins的环境,以及配置好了jdk和maven.下面我们来看如何通过Jenkins将svn的项目进行打包和部署. 创建MAVEN项目 1.点击新建,输入项目名,选择" ...

  4. 终端指令操作创建Django项目

    需求:通过Django创建一个用户表和权限表. 用户表包括:用户名,邮箱,密码,管理权限. 权限表包括:普通用户,管理用户,超级用户. 权限表和用户表有一对多的关系,即用户表中的每条数据对应权限表中的 ...

  5. VS自定义项目模板:[2]创建VSIX项目模板扩展

    VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...

  6. 用Kotlin开发Android应用(II):创建新项目

    这是关于Kotlin的第二篇.各位高手发现问题,请继续“拍砖”. 原文标题:Kotlin for Android(II): Create a new project 原文链接:http://anton ...

  7. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

  8. Eclipse+Maven创建webapp项目<一>(转)

    还在为jar下载而烦恼吗?还在为jar依赖关系而烦恼吗?还在为jar冲突而烦恼吗?强大的maven项目管理工具来拯救你们呢?自动下载jar,自动下载jar依赖包.你什么都不用做,只需要在中央仓库中co ...

  9. Eclipse+maven创建webapp项目<二>(转)

    原文地址:http://www.cnblogs.com/candle806/p/3439469.html 1.开启eclipse,右键new-->other,如下图找到maven project ...

随机推荐

  1. iptables实现IP地址重定向(转发)

    iptables不单只防火墙这么简单,NAT转发这些都很强大.但是市面上iptables的教程基本都是围绕着CentOS 6来展开的,而对于CentOS 7和Ubuntu又不一样的写法,尤其是Ubun ...

  2. How to create an IPA (Xcode 5)

    This tutorial will walk you through the easiest way to generate an IPA using Xcode 5. We will be usi ...

  3. ASIHTTPRequest学习(一)

    Creating a synchronous request 可以创建同步和异步两种方式的请求,一般情况下应当使用异步请求.使用同步请求主应用线程会锁住直至解锁为止. 创建异步请求,会在后台执行 - ...

  4. 【IntellJ IDEA】idea上 实现了Serializable接口,要自动生成serialVersionUID的方法

    需要点进setting ->搜索Inspections-->右侧选择java 下拉 进入Serialization issue--->勾选Serializable class wit ...

  5. 学号20175313 《数据库MySQL(课下作业,必做)》第十周

    目录 一.题目要求 二.需求分析 三.关键代码以及运行结果截图 任务一 任务二 任务三 任务四 四.代码实现过程中遇到的问题及其解决方法 五.码云链接 六.心得体会 一.题目要求 下载附件中的worl ...

  6. [置顶] kubernetes资源对象--limitranges

    概念 LimitRange(简称limits)基于namespace的资源管理,包括pod和container的最小.最大和default.defaultrequests等. 一旦创建limits,以 ...

  7. react.js Warning: Failed form propType: You provided a value prop to a form field without an onChange handler. This will render a read-only field.

    错误信息: eact.js:20483 Warning: Failed form propType: You provided a value prop to a form field without ...

  8. ylb:事务

    ylbtech_sqlserver create database bank go use bank go create table users ( uid ,), uname ) not null, ...

  9. web-51job(前程无忧)-账户、简历-数据库设计

    ylbtech-DatabaseDesgin:web-51job(前程无忧)-账户.简历-数据库设计   1.A,数据库关系图 1.B,数据库设计脚本 /App_Data/1,Account.sql ...

  10. 【共享单车】—— React后台管理系统开发手记:城市管理和订单管理

    前言:以下内容基于React全家桶+AntD实战课程的学习实践过程记录.最终成果github地址:https://github.com/66Web/react-antd-manager,欢迎star. ...