美文网首页我爱编程
angular学习笔记

angular学习笔记

作者: 新篇章 | 来源:发表于2017-03-12 22:01 被阅读0次

    Angular:
    框架: 对程序员的限制高
    库: jquery,bootstrap —— 使用灵活,对程序员的限制少
    它是MVC框架 精确定义是MVVM框架 mv*
    SPA (single page application) 移动端

    MVC:
    M:  Model           模型——数据
    V:  View            视图
    C:  Controller      控制器
    
    MVC 分离:
    1.数据、逻辑、 表现层代码的分离
    2.分工
    **学好:它最核心的核心的东西就是数据 
       以前写JS:存在大量的重复劳动
       window 事件 .....
       Angular:避免了重复劳动,让程序员更加关注需求的本质和实现。
    

    版本:
    官网:https://angularjs.org/
    混乱:
    1.2 以下
    1.3 以上 上课
    2.x 没人用 angular2
    3.x 消失
    4.x 即将要出来
    基本用法:

    Angular指令:
    以 ng 开头。
    是否需要服务器环境——最好
    oninput是input值改变的时候触发

    1、ng-app
    angular管辖的范围
    2、ng-model
    数据,数据模型——  数据从哪来
    3、ng-bind
    数据绑定 —— 数据到哪去
    

    MVC:
    M: model 模型,数据——现在的例子中: 输入框
    V: view 视图 ——现在的例子中: div
    C:

    Angular特性:
    1).双向绑定
    ng-bind: 不好 一开始清空内容
    *Angular——接管了 UI
    *Angular——扩展了html

    4、表达式{{a}}
    *Angular 和 原生的JS——不互通(事件、函数),可以解决。
    5、ng-click
    事件:  ng-mouseover  ....
    * 只关注数据
    6、ng-init
    数据初始化
        
    7、ng-repeat  循环 
    循环数组:
        ng-repeat="item in arr" 
    {{item}}  —— 数组中的每一项
    循环JSON:
        ng-repeat="(key,value) in json"
            {{key}} —— json中的key 
            {{value}} —— json中的value
        ng-repeat:  
    数组:
        (key,value) in arr
            key—— 索引
            value —— 每一项
    json:
        (key,value) in json
            key 键名
            value 键值
    
    
    8、数组的索引:  $index  获取本元素的索引
    *在数组里,默认情况下不允许出现重复的数字 如果有重复的会报错
        track by  重新指定数组中的key
        以前:(key,value) in arr
        现在:item in arr track by $index
    9、过滤器   filter
    currency : 货币的filter
        参数: currency:'¥'
    date:
        date:'yyyy MM dd HH(hh) mm ss'
    放 | 后面
    
    10、ng-show  ng-hide
    

    Angular:
    1、和原生的JS 是不互通 —— 可以得解决
    2、和传统的开发方式完全不同——只要盯住数据,数据是核心
    不互通:
    1)函数不互通
    Number 示例
    2)变量不互通
    全局变量示例
    3)事件不互通

    MVC—— C
    控制器: Controller
    1)定义模块
    angular.module(模块名,所依赖的其它模块);
    let mod = angular.module('mod1',[]);
    2)引用模块
    ng-app="模块名"
    3)定义Controller
    mod.controller('控制器名',回调函数($scope){
    //控制器的代码
    });
    4)引用controller
    ng-controller="ctr1"

    *所有的数据都放在$scope

    $scope : 依赖项

    Angular:
    1)双向绑定
    2)依赖注入
    Controller:
    1)放代码
    2)原生和angular之间的桥梁 —— 在controller中可以使用原生代码
    *一个页面中,可以有多个模块
    *在一个模块中,可以有多个控制器
    *为什么不互通:因为angular的东西都在$scope身上。

    相关文章

      网友评论

        本文标题:angular学习笔记

        本文链接:https://www.haomeiwen.com/subject/bupxnttx.html