• angular


    <html>
    <body>
    4. 依赖注入
        函数定义完整的写法应该像AMD声明一样: var BoxCtrl = ['$scope', '$element', function(s, e){}];
        简单起见就写成了一个函数定义原本的样子,然后再定义参数的名字上做文章起到依赖声明的作用,所以参数的名字不能随便写。
        var BoxCtrl = function($scope, $element){}
    6. 数据绑定与模板
        数据-->模板
            使用模板标记直接完成的{{}},在实现上ng自动创建了一个watcher如果作用域变量发生了改变页面表现也改变
            对于使用ng进行的事件绑定,在处理函数中就不需要去关心$digest()的调用ng会自己处理,真正处理的函数不是指定名字的函数而是经过$apply() 包装过得一个
            函数,这个 $apply() 做的一件事,就是调用根作用域 $rootScope 的 $digest()
        模板-->数据
            模板到数据的绑定,主要是通过ng-model来完成的
    7. 模板
        7.1 使用ng-include引入一段模板
        7.2 ng-repeat [$index, $first, $middle, $last]
            ng-init 可以再模板中直接赋值,它作用于angular.bootstrap之前,并且定义的变量与$scope作用域无关
        7.3 ng-style可以使用一个结构直接表示当前节点的样式
                <!--<div ng-style="{100,height:1100,backgroundColor:'red'}"></div>-->
            ng-class可以直接地设置当前节点的类
            ng-class-even 和 ng-class-odd 是和 ng-repeat 配合使用的:
                <!--
                <ul ng-init="l=[1,2,3,4]">
                    <li ng-class-odd="'odd'" ng-class-even="'even'" ng-repeat="m in l">{{ m }}</li>
                </ul>
                -->
            ng-show, ng-hide, ng-switch
            ng-src, ng-href, ng-checked, ng-disabled, ng-muliple, ng-readonly
            这些只是单向绑定,从数据到展示不能反作用于数据。
        7.4 事件绑定
            ng-change
            ng-click
            ng-dblclick
            ng-mousedown
            ng-mouseenter
            ng-mouseleave
            ng-mousemove
            ng-mouseover
            ng-mouseup
            ng-submit
            对于事件对象本身,在函数调用时可以直接使用$event进行传递
        7.5 表单控件
            form
            input
                相关属性为:name名字,ng-model绑定的数据,required是否必填,ng-minlength最小长度,ng-pattern匹配模式,ng-change值变化时的回调
                input控件有一些扩展这些扩展有些有自己的属性:
                    input type="number"多了number错误类型,多了max,min属性
                    input type="url"多了url错误类型
                    input type="email"多了email错误类型
            checkbox:没有验证相关的东西只有选中与不选中两个值
                <!--
                <form name="test_form" ng-controller="TestCtrl">
                    <input type="checkbox" name="a" ng-model="a" ng-true-value="AA" ng-false-value="BB" />
                    <span>{{ a }}</span>
                </form>
                var TestCtrl = function($scope){
                    $scope.a = 'AA';
                }
                -->
            select
                Array:
                    <!--
                    <html lang="en" ng-app>
                        <head>
                        <meta charset="utf-8">
                        <title>My HTML File</title>
                        <script src="angular.min.js"></script>
                        <script type="text/javascript">
                            var TestCtrl = function($scope){
                                $scope.arr = [{name: 'AA', g: '00', v: '='}, {name: 'BB', g: '11', v: '+'}, {name: 'CC', g: '00', v: '!'}];
                                $scope.a = $scope.arr[1].v;
                                $scope.show = function(){
                                console.log($scope.a);
                                }
                            }
                        </script>
                        </head>
                        <body ng-controller="TestCtrl">
                        <form name="test_form">
                            <select ng-model="a" ng-options="x.v as x.name group by x.g for x in arr" ng-change="show()">
                            <option value="">可以加这个空值</option>
                            </select>
                        </form>
                        </body>
                    </html>
                    -->
                Object:
                    <!--
                    <html lang="en" ng-app>
                        <head>
                        <meta charset="utf-8">
                        <title>My HTML File</title>
                        <script src="angular.min.js"></script>
                        <script type="text/javascript">
                            var TestCtrl = function($scope){
                                $scope.obj = {a: {name: 'AA', v: '00', g: '=='}, b: {name: 'BB', v: '11', g: '=='}, c: {name: 'CC', v: '22', g: '++'}};
                                $scope.a = $scope.obj.a.v;
                                $scope.show = function(){
                                console.log($scope.a);
                                }
                            }
                        </script>
                        </head>
                        <body ng-controller="TestCtrl">
                        <form name="test_form">
                            <select ng-model="a" ng-options="v.v as v.name group by v.g for (k, v) in obj" ng-change="show()">
                            <option value="">可以加这个空值</option>
                            </select>
                        </form>
                        </body>
                    </html>
                    -->
    8. 模板中的过滤器:对数据的格式化或者筛选的函数
        orderBy
        filter
            字符串:列表成员中的任意属性值中有这个字符串即为满足条件
            可以使用对象来指定属性名,$表示任意属性 {{data|filter:{name:'A'} }}  {{data|filter:{$:'3'} }}
            自定义过滤:{{data|filter: f}}
                    var TestCtrl = function($scope){
                        $scope.data = [
                        {name: 'B', age: 4},  
                        {name: 'A', age: 1},  
                        {name: 'D', age: 3},  
                        {name: 'C', age: 3},  
                        ];
                    
                        $scope.f = function(e){
                        return e.age > 2;
                        }
                    }
            时间戳data:  {{ a | date: 'yyyy-MM-dd HH:mm:ss' }}
            列表截取limitTo: {{{{ [1,2,3,4,5] | limitTo: 2 }}}}
            大小写 lowercase,uppercase : {{ 'abc' | uppercase }}  {{ 'Abc' | lowercase }}
            <!--
            <html lang="en" ng-app>
                <head>
                <meta charset="utf-8">
                <title>My HTML File</title>
                <script src="angular.min.js"></script>
                <script type="text/javascript">
                    var TestCtrl = function($scope){
                        $scope.data = [
                        {name: 'B', age: 4},  
                        {name: 'A', age: 1},  
                        {name: 'D', age: 3},  
                        {name: 'C', age: 3},  
                        ];
                    }
                </script>
                </head>
                <body>
                <div ng-controller="TestCtrl">
                    <table>
                    <tr>
                        <th ng-click="f='name'; rev=!rev">名字</th>
                        <th ng-click="f='age'; rev=!rev">年龄</th>
                    </tr>
                    <tr ng-repeat="o in data | orderBy: f : rev">
                        <td>{{ o.name }}</td>
                        <td>{{ o.age }}</td>
                    </tr>
                    </table>
                </div>
                </body>
            </html>
            -->
        </body>
    </html>
  • 相关阅读:
    如何心无旁鹜的编程
    [转]虚拟现实和现实增强技术带来的威胁
    Mac上好用软件集锦
    无论如何都要来报到
    Unity3D脚本语言UnityScript初探
    X3DOM新增剪裁平面节点ClipPlane支持
    用Perl编写Apache模块续二
    如何浪费自己青春
    macbook 我们需要买吗
    看了一本Unity3D的教程
  • 原文地址:https://www.cnblogs.com/lindsayzhao103011/p/3345583.html
Copyright © 2020-2023  润新知