AngularJS学习第一篇 AngularJS基础知识


Posted in Javascript onFebruary 13, 2017

AngularJS学习第一篇,了解指令、过滤器等相关内容。

指令

AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-

1、 ng-app:

定义了 AngularJS 应用程序的根元素;
ng-app 指令在网页加载完毕时会自动引导(自动初始化)应用程序;

<div ng-app="Demo"></div>

2、 ng-init:

为 AngularJS 应用程序定义了 初始值;
通常情况下,我们使用一个控制器或模块来代替它;

<div ng-app="Demo" ng-init="firstName='John'">
 <p>我的名字是:{{ firstName }}</p>
</div>

3、 ng-model:

绑定 HTML 元素 到应用程序数据
同时也可以: 
     为应用程序数据提供类型验证(number、email、required); 
     为应用程序数据提供状态(invalid、dirty、touched、error);
     为HTML 元素提供 CSS 类;
     绑定 HTML 元素到 HTML 表单;

<div ng-app="Demo" ng-init="firstName='John'">
 <p>姓名:<input type="text" ng-model="firstName"></p>
 <p>我的名字是:{{ firstName }}</p>
</div>

4、ng-repeat:对于集合中(数组中)的每个项会 克隆一次 HTML 元素。

<div ng-app="Demo" ng-init="names=[
{name:'Jani',country:'Norway'},
{name:'Hege',country:'Sweden'},
{name:'Kai',country:'Denmark'}]">
 <ul>
   <li ng-repeat="x in names">
    {{ x.name + ', ' + x.country }}
   </li>
 </ul>
</div>

5、ng-controller:为应用程序添加控制器。请根据下面示例进行了解:

<div ng-app="Demo">
 <h1 ng-controller="DemoCtrl">{{name}}</h1>
 <h1 ng-controller="DemoCtrl2">{{lastName}}</h1>
</div>
<script>
 // $scope表示作用区域,指向当前controller
 // 每个应用都有一个$rootScope,它可以作用在 ng-app 指令包含的所有 HTML 元素中。用 rootscope 定义的值,可以在各个 controller 中使用。
 var app = angular.module('Demo', []);
 app.controller('DemoCtrl', function($scope, $rootScope) {
  $scope.name = "Volvo";
  $rootScope.lastName = "Tom";
 });
</script>
<div ng-app="Demo" ng-controller="personCtrl">
 名: <input type="text" ng-model="firstName">
 <br>
 姓: <input type="text" ng-model="lastName">
 <br>
 姓名: {{fullName()}}
</div>
<script>
 var app = angular.module('Demo', []);
 app.controller('personCtrl', function($scope) {
  $scope.firstName = "John";
  $scope.lastName = "Doe";
  $scope.fullName = function() {
   return $scope.firstName + " " + $scope.lastName;
  }
 });
</script>

6、ng-options:创建一个下拉列表,列表项通过对象和数组循环输出。

<div ng-app="Demo" ng-controller="DemoCtrl">
 <select ng-model="selectedName" ng-options="x for x in names">
 </select>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
 $scope.names = ["Google", "W3Cschool", "Taobao"];
});
</script>

7、ng-disabled:指令直接绑定应用程序数据到 HTML 的 disabled 属性。

<div ng-app="" ng-init="mySwitch=true">
 <button ng-disabled="mySwitch">点我!</button>
 <input type="checkbox" ng-model="mySwitch"/>按钮
 {{ mySwitch }}
</div>

8、ng-show:指令隐藏或显示一个 HTML 元素。

<div ng-app="">
 <p ng-show="true">我是可见的。</p>
 <p ng-show="false">我是不可见的。</p>
</div>

9、ng-click:指令定义了一个 AngularJS 单击事件。

<div ng-app="Demo" ng-controller="myController">
 <button ng-click="count = count + 1">点我!</button>
 <p>{{ count }}</p>
</div>

10、ng-include:使用 ng-include 指令来包含 HTML 内容。

过滤器

使用一个管道字符(|)添加到表达式和指令中
常见表达式:
currency:格式化数字为货币格式;
filter:从数组项中选择一个子集;
lowercase:格式化字符串为小写;
orderBy:根据某个表达式排列数组;
uppercase:格式化字符串为大写;

<div ng-app="Demo" ng-controller="DemoCtrl">
 <p>姓名为 {{ lastName | uppercase }}</p>
</div>
<div ng-app="Demo" ng-controller="DemoCtrl">
 <ul>
 <li ng-repeat="x in names | orderBy:'country'">
  {{ x.name + ', ' + x.country }}
 </li>
 </ul>
</div>

服务

在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用;
AngularJS 中你可以创建自己的服务,或使用内建服务;
AngularJS 内建了30 多个服务;
自定义服务

app.service('hexafy', function() {
 this.myFunc = function (x) {
 return x.toString(16);
 }
});
var app = angular.module('Demo', []);
app.controller('customersCtrl', function($scope, $location) {
 $scope.myUrl = $location.absUrl();
});

常用内置服务

1、$http:是 AngularJS 中的一个核心服务。服务向服务器发送请求,应用响应服务器传送过来的数据;

var app = angular.module('Demo', []);
app.controller('DemoCtrl', function($scope, $http) {
 $http({
 url:'data.json',
 method:'GET',
 params:{
  'username':'tan'
 }
 }).success(function(data,header,config,status){
 //响应成功
 }).error(function(data,header,config,status){
 //处理响应失败
 });
});

2、$location:服务对应了 window.location 函数。

3、$timeout:服务对应了 window.setTimeout 函数。

4、$interval:服务对应了 window.setInterval 函数。

5、$rootScope:它可以作用在 ng-app 指令包含的所有 HTML 元素中。用 rootscope 定义的值,可以在各个 controller 中使用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE6下通过a标签点击切换图片的问题
Nov 14 Javascript
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
Nov 08 Javascript
关于jquery中全局函数each使用介绍
Dec 10 Javascript
js 获取元素下面所有li的两种方法
Apr 14 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
Jun 16 Javascript
基于node实现websocket协议
Apr 25 Javascript
AngularJS ng-repeat数组有重复值的解决方法
Oct 23 Javascript
jQuery焦点图轮播效果实现方法
Dec 19 Javascript
vue打包后显示空白正确处理方法
Nov 01 Javascript
Vue模板语法中数据绑定的实例代码
May 17 Javascript
ES6之Proxy的get方法详解
Oct 11 Javascript
vue使用echarts实现折线图
Mar 21 Vue.js
详解Javascript中DOM的范围
Feb 13 #Javascript
JS简单判断函数是否存在的方法
Feb 13 #Javascript
浅谈js中的变量名和函数名重名
Feb 13 #Javascript
学习使用jQuery表单验证插件和日历插件
Feb 13 #Javascript
js实现打地鼠小游戏
Feb 13 #Javascript
canvas实现钟表效果
Feb 13 #Javascript
深入理解Javascript箭头函数中的this
Feb 13 #Javascript
You might like
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
一个用于网络的工具函数库
2006/10/09 PHP
PHP采集相关教程之一 CURL函数库
2010/02/15 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
2017/06/21 PHP
PHP实现的MD5结合RSA签名算法实例
2017/10/07 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
javascript如何操作HTML下拉列表标签
2015/08/20 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
react ant Design手动设置表单的值操作
2020/10/31 Javascript
pyenv命令管理多个Python版本
2017/03/26 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
毕业生机械建模求职信
2013/10/14 职场文书
师生聚会感言
2014/01/26 职场文书
幼儿园教学管理制度
2014/02/04 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
党支部公开承诺书
2014/03/28 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
2015年小学数学教师个人工作总结
2015/05/25 职场文书
护士岗位竞聘书
2015/09/15 职场文书
会计入职心得体会
2016/01/22 职场文书