zoukankan      html  css  js  c++  java
  • AngularJS

    While it’s cool to make a custom element like we did the the previous cast, it’s actually more common to do things like create custom attributes. These attributes are going to add things like behaviors, and we can do so by using restrict “A”. “A” is for attribute, “E” is for element. You can then provide a linking function, which is where you will put whatever the behavior is. We’re just going to alert “I’m working” to the user.

    main.js  
    var app = angular.module("superhero",[])
    app.directive("superman",function(){
    return{
    restrict:"A",
    link:function(){
    alert("I'm working");
    }
    };
    });

    From here, instead of having superman as an element, let’s do a div with superman as an attribute:

    index.html

      

    1 <div ng-app="superhero">
    2 <div superman></div>
    3 </div>

    Now if we refresh, you’ll see the alert saying “I’m working” Another restriction we can use is “C” for class. If we change restrict to “C” and refresh without changing anything, we can see that nothing happens. We need to change the directive from an attribute to a class of the div.

    index.html

       1 <div ng-app="superhero"> 2 <div superman></div> 3 </div> 

    If we refresh now, we’ll see “I’m working” alerted again. The last restriction is “M” for comment. If we change restrict to “M” and create a comment starting with “directive:” and then the name of our directive, refresh, and we’ll see that it works again.

    index.html

      

    1 <div ng-app="superhero">
    2 <!-- directive:superman -->
    3 </div>

    The “M” restriction is used the least often, usually only for backwards compatibility and for passing markup validations. Typically it’s best to add behaviors in attributes so you can stack them.

    We’ll create another attribute directive, call it “flash” and set the linking function to alert “I’m working faster” and change “superman” to alert “I’m working stronger” (Don’t forget to change the “superman” directive’s restriction back to “A”)

    main.js

      

     1 var app = angular.module("superhero",[])
     2 app.directive("superman",function(){
     3 return{
     4 restrict:"A",
     5 link:function(){
     6 alert("I'm working");
     7 }
     8 };
     9 });
    10 app.directive("flash",function(){
    11 return{
    12 restrict:"A",
    13 link:function(){
    14 alert("I'm working");
    15 }
    16 };
    17 });

    Now we should have a div with both “superman” and “flash” as attributes

    index.html

      

    1 <div ng-app="superhero">
    2 <div superman flash></div>
    3 </div>

    If we refresh, we’ll see “I’m working stronger” and then “I’m working faster”

    To recap: “E” is for element, “A” is for attribute, “C” is for class, and “M” is for comment. Attributes are going to be the main ones as far as adding behaviors that get used the most. If you don’t specify the restrict property it will default to “A”

  • 相关阅读:
    方维,将采集到的淘宝天猫商品详情里面的链接转换成淘宝客链接
    方维系统,根据关键词、品牌 采集淘宝天猫的商品
    方维系统,评论按钮在没输入内容是虚的不能点击,输入内容选择分类后就可以点击了
    方维模板修改,评论框默认高度是70px,鼠标点击框内后高度增大变为100px
    方维模板修改,发布分享、主题有商品时,标签需自动写到input里,不要再手动去点击添加,手动点击可取消
    只采集淘宝上面包邮的商品,用方维
    Android Application 创建全局变量
    非常优秀的iphone学习文章总结!
    android NDK jni下的c文件 Unresolved inclusion
    Android Service学习笔记
  • 原文地址:https://www.cnblogs.com/lucker/p/3783552.html
Copyright © 2011-2022 走看看