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 相关文章推荐
javascript[js]获取url参数的代码
Oct 17 Javascript
js继承的实现代码
Aug 05 Javascript
javascript面向对象入门基础详细介绍
Sep 05 Javascript
javascipt基础内容--需要注意的细节
Apr 10 Javascript
js实现俄罗斯方块小游戏分享
Jan 31 Javascript
javascript实现简单的鼠标拖动效果实例
Apr 10 Javascript
jquery mobile开发常见问题分析
Jan 21 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
Oct 31 Javascript
jquery css实现邮箱自动补全
Nov 14 Javascript
JS 使用 window对象的print方法实现分页打印功能
May 16 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
Jan 18 Javascript
微信小程序实现拨打电话功能的示例代码
Jun 28 Javascript
详解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
收集的PHP中与数组相关的函数
2007/03/22 PHP
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
2011/01/17 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
IE和Firefox下javascript的兼容写法小结
2008/12/10 Javascript
用jQuery中的ajax分页实现代码
2011/09/20 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
JS实现图片预加载无需等待
2012/12/21 Javascript
防止xss和sql注入:JS特殊字符过滤正则
2013/04/18 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
vue中使用 pako.js 解密 gzip加密字符串的方法
2019/06/10 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
Python只用40行代码编写的计算器实例
2017/05/10 Python
Python面向对象之继承和多态用法分析
2019/06/08 Python
python梯度下降算法的实现
2020/02/24 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
Python是什么 Python的用处
2020/05/26 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
交通安全教育制度
2014/02/02 职场文书
主题班会演讲稿
2014/05/22 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
幼儿园个人总结
2015/02/28 职场文书
新店开张宣传语
2015/07/13 职场文书
医院中层管理人员培训心得体会
2016/01/11 职场文书
小公司融资,商业计划书的8切记
2019/07/15 职场文书
Go语言测试库testify使用学习
2022/07/23 Golang