之前发过一篇博文,从mobile angular ui的demo和其官网初识整个angularjs的大体使用,但是没很好学习,只是通过一些技术博文初步认识,陷入很多坑。所以现在在中文官网正式整理下知识点巩固

  1. 模板内置指令

    引导程序 ng-app

    设置变量 ng-model

    获取变量 {{}}

    遍历 ng-repeat=”row in rows”

    搜索功能 ng-repeat=”row in rows | filter:查询变量名”

    排序功能 ng-repeat=”row in rows | orderBy:排序变量名”

    图片 ng-src=“{{}}”

  2. angularjs内置方法
    1. 定义项目:jsGen = angular.module("jsGen", ["ngLocale", "ngRoute", "ngAnimate", "ngResource", "ngCookies", "ui.validate", "genTemplates", "angularFileUpload"]);
    2. 初始化:jsGen.run(["app", "$q", "$rootScope", "$location", "$timeout", "$filter", "getFile", "JSONKit", "toast", "timing", "cache", "restAPI", "sanitize", "mdParse", "mdEditor", "CryptoJS", "promiseGet", "myConf", "anchorScroll", "isVisible", "applyFn", "param", "store", "i18n-zh",
    3. 定义常量:jsGen.constant("app", {url:’’,version:Date.now()}
    4. 配置路由:jsGen.config(["$routeProvider", "$locationProvider",]);配置httpProvider:jsGen.config(["$httpProvider", "app"]) ;
    5. 接口服务:jsGen.factory("restAPI", ["$resource",]);工厂模式:jsGen.factory("i18n-zh", ["$locale"]);缓存:jsGen.factory("cache", ["$cacheFactory"]);
    6. 过滤:jsGen.filter("placeholder", ["JSONKit"])
    7. 定义指令(绑定事件):jsGen.directive("genTabClick", function() {});
    8. 定义控制器:jsGen.controller("indexCtrl", ["app", "$scope", "$routeParams", "getList"])

angularjs之控制器controller

  • AngularJS一个内置服务$http

    myapp.controller(’控制器名’function($scope,$http){
    $http.get('phones/phones.json').success(function(data) {
    $scope.phones = data;
    });
    $scope.orderProp = 'age';//排序默认变量
    })
  • 事件处理器
    <button class="btn btn-default" ng-click="testClick('aa')">点击事件</button>
    /**
    * 点击事件 注意.run()下只有$rootScope注入
    */
    $rootScope.testClick = function(param) {
    alert(param);
    }

angularjs之服务service

'use strict';

//定义angular模块(只有定义了才能在app.js中作为依赖包引入)
//依赖ngResource包
var services = angular.module('services', ['ngResource']); //.factory()工厂模式,具体还没深入了解学习,暂时跟着demo写
services.factory(
'newsService',
['$resource', '$routeParams', 'API',//控制器访问句柄
function($resource, $routeParams, API){
return $resource(
API.url + '/news/:action/:id', //定义数据请求url
{},
{
getList: {method:'GET', params:{action:'lists'},isArray:true}//新闻模型方法
});
}]
);

angularjs之过滤器filter

myapp.controller('过滤器名', function(){

  //返回过滤方法
return function(input) { //返回过滤结果
return input ? '\u2713' : '\u2718';
}
});
  • angularjs内置过滤方法
    * {{ "lower cap string" | uppercase }}

    {{ {foo: "bar", baz: 23} | json }}

    {{ 1304375948024 | date }}

    {{ 1304375948024 | date:"yyyy-MM-dd HH:mm:ss" }}

{{'abc'|uppercase}}

结果:

angularjs入门整理的更多相关文章

  1. Asp.Net Core WebAPI入门整理(三)跨域处理

    一.Core  WebAPI中的跨域处理  1.在使用WebAPI项目的时候基本上都会用到跨域处理 2.Core WebAPI的项目中自带了跨域Cors的处理,不需要单独添加程序包 3.使用方法简单 ...

  2. 《AngularJS学习整理》系列分享专栏

    <AngularJS学习整理>系列分享专栏   <AngularJS学习整理>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/re ...

  3. AngularJS - 入门小Demo

    AngularJS四大特效 MVC模式.模块化设计.自动化双向数据绑定.依赖注入 如果了解了后端开发知识,想必对这些词汇不会陌生,AngularJS融合了后端开发的一些思想,虽然身为前端框架,但与jQ ...

  4. AngularJS入门心得4——漫谈指令scope

    上篇<AngularJS入门心得3——HTML的左右手指令>初步介绍了指令的概念和作用.已经和指令打过一个照面,就不会那么陌生了,今天主要介绍的是一个困扰了我很久终于想通的问题,这个问题与 ...

  5. AngularJS入门心得3——HTML的左右手指令

    在<AngularJS入门心得1——directive和controller如何通信>我们提到“AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文 ...

  6. AngularJS入门心得2——何为双向数据绑定

    前言:谁说Test工作比较轻松,最近在熟悉几个case,差点没疯.最近又是断断续续的看我的AngularJS,总觉得自己还是没有入门,可能是自己欠前端的东西太多了,看不了几行代码就有几个常用函数不熟悉 ...

  7. AngularJS入门心得1——directive和controller如何通信

    粗略地翻了一遍<JavaScript DOM编程艺术>,就以为可以接过AngularJS的一招半式,一个星期过去了,我发现自己还是Too Young,Too Simple!(刚打照面的时候 ...

  8. (一)Angularjs - 入门

    AngularJS进行应用开发的一个重要的思维模式: 从构造声明式界面入手 ng-app: 这个指定定义并且关联了使用angularJS的HTML页面部分 ng-model: 这个指定定义并绑定Ang ...

  9. AngularJS入门教程:日期格式化

    AngularJS入门教程:日期格式化[转载] 本地化日期格式化: ({{ today | date:'medium' }})Nov 24, 2015 2:19:24 PM ({{ today | d ...

随机推荐

  1. zoj 3819 Average Score

    Average Score Time Limit: 2 Seconds      Memory Limit: 65536 KB Bob is a freshman in Marjar Universi ...

  2. hdoj 3665 Seaside【最短路】

    Seaside Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  3. SQL语句的增删改查

    一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdent ...

  4. VirtualBox安装Ghost XP

    http://jingyan.baidu.com/album/5d368d1e1a88b73f60c05721.html?picindex=1

  5. wDatePicker使用说明文档

    版权声明:本文为博主原创文章,未经博主允许不得转载. http://www.my97.net/dp/demo/ 4.5更新的内容 [重构]对WdatePicker.js做了较大规模的调整 [改进]自动 ...

  6. iOS中SQLite知识点总结2

    数据库(SQLite) 01-多表查询 格式:select 字段1,字段2,... from 表名1,表名2; 别名:select 别名1.字段1 as 字段别名1,别名2.字段2 as 字段别名2, ...

  7. Python数据类型转换

    Python数据类型之间的转换 函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 compl ...

  8. mysql 加载文本数据

    可以配置导入哪几列,每个字段用什么隔开,每行用什么隔开,也可以单独设置某个字段的值. 详细看代码: LOAD DATA INFILE 'D:/aa.txt' INTO TABLE aa FIELDS ...

  9. jvisualvm图解

    http://blog.csdn.net/a19881029/article/details/8432368 jvisualvm能干什么:监控内存泄露,跟踪垃圾回收,执行时内存.cpu分析,线程分析. ...

  10. MySQL 5.6 SQL 优化及 5.6手册

    http://blog.chinaunix.net/uid-259788-id-4146363.html http://www.cnblogs.com/Amaranthus/p/4028687.htm ...