指令Directive

1.ng-app

作用:规定Angular范围

创建多个ng-app时默认只执行第一个
可用模块合并解决
<body ng-app="app">
    <div ng-controller="demo1" ng-click="demo1()"></div>
    <div ng-controller="demo2" ng-click="demo2()"></div>

    <script src="../bower_components/angular/angular.js"></script>
    <script type="text/javascript">

        angular.module(‘app1‘, []).controller(‘demo1‘, [‘$scope‘, function($scope){
            console.log(11111);
        }]);
        angular.module(‘app2‘, []).controller(‘demo2‘, [‘$scope‘, function($scope){
            console.log(22222);
        }]);

        //模块合并
        angular.module(‘app‘, [‘app1‘, ‘app2‘]);
    </script>
</body>

2.ng-repeat

/*
http://www.angularjsapi.cn/#/ngRepeat
$index    number    循环的索引值
$first    boolean    是否第一次循环
$middle    boolean    是否第一次和最后一次循环之间的循环。
$last    boolean    是否最后一次循环。
$even    boolean    是否循环的次数$index为偶数。
$odd    boolen    是否循环的次数$index为奇数
*/

<body ng-app="app">

    <ul ng-controller="demo1Controller">
        <li ng-repeat="value in data">
            <span>{{$first ? $index : ‘‘}}</span>
            <span>{{value.id}}</span>
            <span>{{value.name}}</span>
            <span>{{value.age}}</span>
        </li>
    </ul>

    <script src="../bower_components/angular/angular.js"></script>
    <script type="text/javascript">

      angular.module(‘app‘, []).controller(‘demo1Controller‘, [‘$scope‘, function($scope){

          $scope.data = [];

          for (var i = 10 - 1; i >= 0; i--) {
              var obj = {
                    id: i,
                    name: ‘名字是:‘ + i,
                    age: ‘年龄是:‘ + i
              };
              $scope.data.push(obj);
          }

      }])

    </script>
</body>

3.ng-class

<!--1、如果表达式是一个字符串,字符串应该是一个或多个空格分隔的类名称。-->
<!--2、如果表达式是数组,数组中的每个元素应该是一个字符串,即一个或多个空格分隔的类名称。-->
<!--3、如果表达式是一个对象,应用相应的类名称作为key 值为true或false。-->
<!--4、如果特定类别已被设置,该指令将不会添加重复类。-->

  <style type="text/css">
      .red {
        color: red;
      }
      .green {
        color: green;
      }
  </style>
</head>
<body ng-app="app">
    <!-- ng-class: 会根据当前设置对象的属性和属性值决定是否添加特定类名 -->
    <ul ng-controller="demo1Controller" >
        <li ng-repeat="value in data" ng-class="{red:$even,green:$odd}">
            <span>{{value.id}}</span>
            <span>{{value.name}}</span>
            <span>{{value.age}}</span>
        </li>
    </ul>

    <script src="../bower_components/angular/angular.js"></script>

 1 <style>
 2     .red{
 3       background-color: red;}
 4
 5     .green{
 6       background-color: green;}
 7
 8     #box{
 9       height: 200px;
10       width: 200px;transition:background-color 1s ease;
11 }
12 </style>
13 </head>
14 <body ng-app>
15 <select ng-model="style">
16 <option value="red">红色</option>
17 <option value="green">绿色</option>
18 </select>
19
20   <!-- <div id="box" ng-class="style"></div> -->
21 <div id="box" ng-class="{red:style==‘red‘, green:style==‘green‘}"></div>
22
23 <script src="bower_components/angular/angular.js"></script>
24 </body>
时间: 2024-08-19 14:11:16

指令Directive的相关文章

Angular之指令Directive系列

项目筹备近期开启Angular学习,指令比较难理解所以记录备案,推荐视频大漠穷秋 Angular实战 由于篇幅过长,列举大纲如下: 一.指令directive概述 指令可以对元素绑定事件监听或者改变DOM结构而使HTML拥有像jQuery一样效果具有交互性.不同于jQuery,Angular设计核心思想是通过数据与模板的绑定,摆脱繁琐的DOM操作,而将注意力集中在业务逻辑上. 几种常见指令ng-app 指令用来指定ng的作用域是在那个标签以内部分(<html ng-app="myApp&q

AngularJS之基础-5 路由(定义路由、使用路由)、自定义指令(Directive)

一.定义路由 ng-view - AngularJS 支持通过在单页面上的多个视图的单页应用 - ng-view 标记只是简单地创建一个占位符 - 使用 ng-template - 创建使用script标签的HTML视图 - 使用 - 定义类型作为主模块中 ng-template 的脚本块 $routeProvider - 映射相应的HTML页面或ng-template - 附加一个控制器使用相同键的服务   - 注意: - 需要angular-route.js脚本文件的引用 二.使用路由 锚点

AngularJs 指令directive之require

controller的用法分为两种情形,一种是require自定义的controller,由于自定义controller中的属性方法都由自己编 写,使用起来比较简单:另一种方法则是require AngularJS内建的指令,其中大部分时间需要require的都是ngModel这个指令. 在自定义Angular指令时,其中有一个叫做require的字段,这个字段的作用是用于指令之间的相互交流.举个简单的例子,假如我们现在需要编写两 个指令,在linking函数中有很多重合的方法,为了避免重复自己

vue自定义指令(Directive中的clickoutside.js)的理解

.array p { counter-increment: longen; margin-left: 10px } .array p::before { content: counter(longen) "." } .alink { font-size: 16px; color: blue } 阅读目录 vue自定义指令clickoutside.js的理解 回到顶部 vue自定义指令clickoutside.js的理解 vue自定义指令请看如下博客: vue自定义指令 一般在需要 DO

自定义指令directive

1.自定义指令 在angular中,module下面的directive方法用于创建自定义指令,用法: m1.directive('myTab',function(){ return { restrict : 'AE', replace : true, templateUrl : '', }; }); 大致用法如上,在directive的第二个参数里面return出一个对象,对象里面有各种属性. restrict----指定创建的指令是什么类型,A--attr属性指令,E--element标签指

【转载】AngularJs 指令directive之controller,link,compile

关于自定义指令的命名,你可以随便怎么起名字都行,官方是推荐用[命名空间-指令名称]这样的方式,像ng-controller.不过你可千万不要用 ng-前缀了,防止与系统自带的指令重名.另外一个需知道的地方,指令命名时用驼峰规则,使用时用-分割各单词.如:定义myDirective,使用时 像这样:<my-directive>. 这里列出directive的合法命名: ng:bind ng-bind ng_bind x-ng-bind data-ng-bind 我是教师,在新建试题输入分数的时候

angular 自定义指令 directive transclude 理解

项目中断断续续的用了下angular,也没狠下心 认真的学习.angular 特别是自定义指令这块 空白. transclude 定义是否将当前元素的内容转移到模板中.看解释有点抽象. 看解释有点抽象Demo: <!DOCTYPE html> <html lang="en" ng-app='myApp'> <head> <meta charset="UTF-8"> <title>Angularjs</

vue 自定义指令directive

//自定义指令:directive 的传参--可以数据也可以是字符串 Vue.directive('scroll', function (binding) { window.addEventListener('scroll', function () { if (document.body.scrollTop + window.innerHeight >= document.body.clientHeight-20) { var fnc = binding; fnc(); } }) }); 调用

自定义指令-directive (转)

1.指令作用域中的@ 作用是把当前属性作为字符串传递. 前台代码: <div ng-controller="MyCtrl">       <drink water="{{pureWater}}"></drink></div> Js代码: <script type="text/javascript"> var myModule = angular.module("MyModule

vue.js实现内部自定义指令和全局自定义指令------directive

在Vue中,我们平时数据驱动视图时候,内部自带的指令有时候解决不了一些需求,这时候,Vue给我们一个很好用的东东 directive 这个单词是我们写自定义指令的关键字哦 之定义指令为我们提供了几个钩子函数,这时候你一定好奇什么是钩子函数,说简单点,就是集中表现状态 bind: 只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作. inserted: 被绑定元素插入父节点时调用(父节点存在即可调用,不必存在于 document 中). update: