ng 常用指令

AngularJS 指令是扩展的 HTML属性,带有前缀 ng-。
与angular的作用域对象$scope交互,扩展页面的动态表现力

  1. 边界指令 ng-app
    指定模块名,定义angularJS的使用范围,定义了AngularJS应用程序的根元素, 即定义一个AngularJS*应用程序*;声明AngularJS所管辖的区域。一般写在body或者html标签上,是一个特殊的指令,一个HTML文档只出现一次,如出现多次也只有第一个起作用;

意义

自动产生一个根作用域的对象$rootScope  实际会指向模块名
  1. ng-init="变量=值;变量='值'" 单向数据绑定 (v--m)
    NG变量进行初始化
    初始化应用程序的变量的值,有多个变量时,中间用分号隔开,全部使用双引号引起来 初始化AngularJS应用程序中的变量值 初始化当前作用域的变量
  1. ng-model="变量" 定义变量名; 双向数据绑定
ng-model:保存有用户输入的NG变量(表单标签)
    把元素值(比如输入域的值)绑定到应用程序变量上
    此变量会作为当前作用域对象的属性出现,其属性值等于绑定的html元素的变化
注意该指令只支持表单元素的双向数据绑定
  1. ng-bind="变量" 解决使用{{}}显示数据闪烁(在很短的时间内显示{{}})
    呈现指令{{}}来呈现NG变量
    绑定变量名,获取该变量的数据。这里的变量就是第3条的变量名。但是一般都用双重花括号来获取。应用程序数据绑定到 HTML 视图。 把应用程序变量中的值,输出到页面HTML视图中,可以与表达式{{}}互相替换。将NG变量绑定到标签上 用于非输入性的标签 NG框架加载失败也不会报错
  1. ng-directive是自定义指令的,所以扩展了html
  2. ng-repeat 遍历ng变量
ng-repeat ="xx in 数组名" xx 一般会是对象 {{xx.属性}}
   对于集合中(数组中)的每个项会克隆一次HTML元素。用于循环输出数组元素
遍历数组显示数据 数组有几个元素就会创建几个新的作用域
ng-repeat想要重复哪个元素就写在哪个元素后面,为了防止重复元素的影响,可以写上
track by $index
这个指令的使用前提是在controller中对NG变量进行赋值
ng-repeat 可以去页面观看,每一个都使用了ng-repeat 还自动生成了class
方法:
参数是浏览器给的:$index $first $last $middle,$odd,$even
  1. ng-click 调用作用域对象的方法(点击时)
    ng-click=事件();事件的定义在控制器里,
  2. ng-controller 指定控制器构造函数名 内部会自动创建一个子作用域对象
    使用步骤
    声明控制器 ng-controller
    控制器:操作数据以及视图的部件
    只要声明一个标签有用控制器,这个控制器就必须定义,否则报错
  3. ng-controller 定义了应用程序控制器。控制器是 JavaScript 对象
    由JavaScript 对象的构造函 创建。
  4. 创建该函数 并使用$Scope参数
  5. 调用函数并使用
  6. ng-bind
    ng-bind 用于普通元素,不能用于表单元素,应用程序单向地渲染数据到元素;
    当 ng-bind 和 {{}} 同时使用时,ng-bind 绑定的值覆盖该元素的内容。

ng-bind-html : 相当于 innerHTML 而ng-bind 相当于 innerText

  1. ng-show 属性值为布尔值,布尔类型:如果为TRUE才显示
  2. ng-hide 布尔类型 如果为false才显示 相当于display=none
    12 ng-if: 是否移除元素 与ng-hide以及ng-show相似
    当其表达式为false时一处html元素,表达式结果为true会添加html元素。
    13.ng-class:用于设置给元素添加class类。可选值有以下几种情况:
      ① 可以是字符串。表示直接给元素添加对应的class。多个class之间,用空格分隔。
      ② 可以是对象。对象的键表示你想添加的class名字,对象的值为true或false,当值为true时表示添加对应的class。
      ③ 可以是数组,数组可以有字符串或者对象组合组成,数组中的值可以是字符串或对象。
    ng-option:该指令在select标签中使用,是创建一个下拉列表 需配合ng-model使用

ng-checked 设置复选框或单选框的选中状态。
ng-switch 根据变量的值,选择不同的ng-switch-when来显示,当没有合适的选项时,显示ng-switch-default

  1. 生成页面模型
    angular.module用于生产NG页面数据模型
    语法:var 页面数据模型=angular.module('边界名称',[注入信息])
  2. 生成页面控制器
    页面数据模型.controller('控制器名称',['scope){}])
  3. 构建路由
    页面数据模型.config(['routerProvider){
    $routerProvider.
    .when('/页面代号',{
    template:'要加载的页面的url地址'(以路由地址为起点),
    controler:'对应页面的控制器名称'
    })
    ·····
    .otherwise({
    redirectTo:'/默认加载页面代号'
    })
    }])
  4. 过滤服务$filter:格式化数据 系统服务 但是支持自定义
    语法:{{任意内容|过滤器}}
    自定义过滤服务:
    app.filter('自定义过滤器名称',function(){
    return function(text){
    //对text操作
    }
    })
  5. 系统内置服务
    时间轴:间隔调用timeout 清除时间轴内容服务
    监听服务:scope.$watch('想要监听的字符串或者表达式',function(){})
    循环定时
  6. 自定义服务
    value
    app.value('服务名',{服务内容Jasn})
    constant
    类似于value,但是一旦被注入,无法更改,并且多个constant只有第一个起作用
    app.constant('服务名',{服务内容Jasn})
    factory:返回一个对象
    service:服务内部所有内容必须通过this操作
    provider
    app.provider('服务名',this.$get=fubction(){})
  7. 自定义指令
    页面数据模型.directive('',function(){
    return{
    restrict:'指令类型',
    template:'指令结构',
    replace:'指令复写'
    }
    })

你可能感兴趣的:(ng 常用指令)