zoukankan      html  css  js  c++  java
  • Angularjs

    angular是一个MVC框架:即

    MVC
    M-----module 模块
    V------view 视图层,负责展示(视野)
    C------controller 业务逻辑和控制逻辑(控制器)
    2、模块化
    3、指令系统
    4、双向数据绑定


    一、指令

    1、在<body>标签中写:
    ng-app 作用域
    ng-init=“” 初始化
    {{}}解析值
    例:<body ng-app ng-init="a=1;b=3"></body>
    <div>{{a}}</div>
    解析的值就是1,不用{{}}出来的就是原样输出
    2、ng-bind 绑定
    例:<div ng-bind="a"></div>
    3、ng-model 双向绑定->脏检查
    例:<input ng-model="a">

    4、ng-repeat (重复)
    指令用于循环输出指定次数的 HTML 元素。
    集合必须是数组或对象。
    例:
    <script>
    angular.module("app",[])
    .controller("con",function($scope){
    $scope.arr = [1,2,3,4,5,5,6,7,8,9,"name"]; //1
    $scope.arr1 =[ //2
    {name:"a",sex:1},
    {name:"b",sex:2},
    {name:"c",sex:3},
    {name:"d",sex:4},
    {name:"e",sex:5},
    {name:"f",sex:6}
    ];
    })
    </script>
    <li ng-repeat="x in arr track by $index"> //1
    {{x}};
    </li>
    <li ng-repeat="x in arr1"> //2
    {{x.name}}---{{x["sex"]}};
    </li>
    5、ng-if(如果)
    在angularjs中ng-if和ng-show/ng-hide 都能实现Dom元素在界面的显示和隐藏。
    但是两者不同,ng-if在表达式为false的情况下删除了Dom元素,ng-show在表达式为false的情况下是隐藏元素并没有删除。
    例: 目前只有ng-if !!!
    <div ng-if="flag">
    {{name}}
    </div>
    <div ng-if="name">
    有没有
    </div>
    <div ng-if="a<b">
    {{name}}
    </div>
    <script>
    angular.module("app",[])
    controller("con",function($scope){
    $scope.name = "jia";
    $scope.flag = true;
    $scope.a = 1;
    $scope.b = 2;
    })
    </script>


    二、 过滤器
    uppercase 大写
    lewercase 小写
    currency 数字转货币
    {{name | uppercase}}
    | 管道字符
    三、自定义过滤器
    angular.module("app",[])
    .controller("con",function($scope){
    $scope.name="Jia";
    $scope.shu = 123;
    })
    写法1:
    .filter("tianjia",function(){
    return function(a){
    return a + "志龙";
    };
    })


    写法2:
    .filter("tianjia1",function(){
    return (a) => a + "贾";//es6里的写法
    })
    1、return() =>ele +" " es6的写法
    2、return function(ele){
    return ele +" "
    }


    四、控制器:ng-controller
    例:
    <body ng-app="app" ng-controller="con">
    <div>{{a}}</div>
    <div>{{b}}</div>
    <div>{{zi()}}</div>
    <div>{{jia(3,8)}}</div>
    </body>
    <script>
    写法1:
    var app = angular.module("app",[]);1、调用作用域
    app.controller("con",function($scope){2、调用controller方法
    $scope.a = "1";
    $scope.b = "4";
    $scope.zi = function(){
    return "字";
    };
    $scope.jia = function(a,b){
    return a+b
    }
    })
    写法2:
    angular.module("app",[])
    .controller("con",function(){
    $scope.a = "1";
    $scope.b = "4";
    $scope.zi = function(){
    return "字";
    };
    $scope.jia = function(a,b){
    return a+b
    }
    })
    </script>

    五、

    1、$scope 作用域
    2、$rootScope 根作用域
    3、$watch 监督
    例:$scope.$watch(function(){
    console.log($scope.name);
    });
    4、$apply 请求
    例:setTimeout(function(){
    $scope.$apply(function(){
    $scope.name=100;
    });
    },1000);
    js中的setTimeout要写apply
    5、$timeout
    例:$timeout(function(){
    $scope.name=2;
    },2000);

  • 相关阅读:
    phpStorm激活码
    找回自己
    延迟加载JavaScript
    [MAC]如何通过 macOS 恢复功能重新安装 macOS
    Realm JavaScript
    Realm .NET
    [MAC]获得在线帮助:恢复信息
    [Swift]UILabel文字截断
    算法和数据结构可视化
    Realm Swift
  • 原文地址:https://www.cnblogs.com/jiazhilong/p/8525064.html
Copyright © 2011-2022 走看看