导航

Angular学习

Posted on 2016-04-13 14:14  杨彬Allen  阅读(262)  评论(0编辑  收藏  举报

一、Angular是什么

  基于JS的框架,类似JQuery,利用数据绑定依赖注入实现页面数据的渲染,无需人为写大量的JS,减少了代码量,优美了代码。

二、Angular优缺点

  Angular适用与CURD的Web,不适用于游戏、图像等Web。

三、Angular各标识意义

  ng-app:

    1、标明这是一个AngularJS应用,ng-app可以放在html标签中,表示整个html都是,也可以放在单个div上,但是只有第一个div上的ng-app会被angular自动加载,其他的只能手动加载。

    2、如果不连接到任何代码块,只需这样写:<div ng-app></div>,如果需要连接到代码块:可以使用ng-app="myModule"。

    3、手动加载可以这么写

<script>
var app = angular.module("myApp", []);
app.directive("runoobDirective", function() {
    return {
        template : "<h1>自定义指令!</h1>"
    };
});
</script>
View Code

  ng-model:自动对数据进行双向绑定,适用于input输入框,而且当输入框没有输入数据或者输入的数据无效时,这个input输入框会自动变红。

  {{}}:数据绑定且是双向绑定,有点像MVVM,通常和ng-model配合使用

  ng-init:初始化参数

<div ng-app ng-init="aa='xxx';bb=aa;">
<p>我的第一个表达式: {{bb}}</p>
</div>
View Code

  ng-repeat:只支持数组?对象为AngularJS对象全是用大括号表示,不像Json中包含中括号。

  ng-bind:等同于{{}},可用在标签上,标签的innerText赋值,如<p>总价: <span ng-bind="quantity * cost"></span></p>

  .directive:指令,可用在任何地方:元素名、属性、类名、注释

  restrict:和directive搭配使用,表示只能在特定环境下使用:

  • E 只限元素名使用
  • A 只限属性使用
  • C 只限类名使用
  • M 只限注释使用

  验证:

<form ng-app="" name="myForm">
    Email:
    <input type="email" name="myAddress" ng-model="text">
    <span ng-show="myForm.myAddress.$error.email">不是一个合法的邮箱地址</span>
</form>
View Code
<form ng-app="" name="myForm" ng-init="myText = 'test@runoob.com'">
    Email:
    <input type="email" name="myAddress" ng-model="myText" required></p>
    <h1>状态</h1>
    {{myForm.myAddress.$valid}}
    {{myForm.myAddress.$dirty}}
    {{myForm.myAddress.$touched}}
</form>
View Code
<style>
input.ng-invalid {
    background-color: lightblue;
}
</style>
<body>

<form ng-app="" name="myForm">
    输入你的名字:
    <input name="myAddress" ng-model="text" required>
</form>
View Code

  过滤器:

过滤器描述
currency 格式化数字为货币格式,默认是美元,如果要换成人名币,可以自定义 {{num | currency : '¥'}}
filter 从数组项中选择一个子集。
lowercase 格式化字符串为小写。
orderBy 根据某个表达式排列数组。
uppercase 格式化字符串为大写。

 

 

 

 

 

  

  服务:http://www.runoob.com/angularjs/angularjs-services.html