1 事件处理

1.1   鼠标移入事件触发

(mouseenter)=" "

              eg:   (mouseenter)="isCollapsed=false"        通过给isCollapsed赋值来实现隐藏显示

1.2   鼠标移出事件触发

         (mouseleave)=" "
 
               eg:  (mouseleave)="isCollapsed=true"          通过给isCollapsed赋值来实现隐藏显示
       
   1.3  点击事件触发
 
          (click)=" "
 
              eg: (click)="toggleCollapsed()"                     点击事件,执行一个函数
 
2  结构型指令
 
    2.1  angular 内置指令 
 
           2.1.1  元素显示隐藏指令 (布尔值,为true时显示,为false时隐藏)
      

                *ngIf=" "
 
                     eg:  *ngIf="leveldisplay"             leveldisplay=true 时显示  
  
            2.1.2  元素迭代指令  
    
                *ngFor=""
 
                      eg: *ngFor="let hero of heroes"      heroes 是要迭代的数据 , hero 为迭代的属性,可以在它身上取到属性值  如 hero.id
 
      2.2 angular  自定义指令
 
          2.2.1  创建自定义组件
 
                 引入创建指令需要依赖的组件库
                 import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
                 Directive       指令装饰器
                TemplateRef      生成的 <ng-template> 元素中创建一个内嵌的视图,并把这个视图插入到一个视图容器中,可以使用TemplateRef取得 <ng-template> 的内容
                ViewContainerRef     通过ViewContainerRef来访问这个视图容器。
 
                 在指令装饰器中,选择在html中创建的指令属性名字, 这个方括号定义出了一个 CSS 属性选择器
                 @Directive({ selector: '[appUnless]'})
 
                 都注入到指令的构造函数中,作为该类的私有属性。
      constructor(  private templateRef: TemplateRef<any>, private viewContainer: ViewContainerRef) { }
               
                 自定义指令的执行代码
 
                 声明一个控制属性
                  private hasView = false;
 
                  设置自定义的属性appUnless 的值的类型为布尔值
                 @Input()   set appUnless(condition: boolean) {
                      判断  布尔值不为真,且 声明的变量值不为真
                      if (!condition && !this.hasView) {
                             在视图中创建一个 内嵌的视图,并把这个视图插入到一个视图容器
                             this.viewContainer.createEmbeddedView(this.templateRef);
                             让隐藏的视图显示出来
                             this.hasView = true;
                      } else if (condition && this.hasView) {
                            把视图容器中创建的内嵌视图删除
                            this.viewContainer.clear();
                           让显示的视图隐藏起来
                            this.hasView = false;
                      }
                }
                
      
 

angular6 开发实践基础知识汇总的更多相关文章

  1. 沉淀,再出发:Java基础知识汇总

    沉淀,再出发:Java基础知识汇总 一.前言 不管走得多远,基础知识是最重要的,这些知识就是建造一座座高楼大厦的基石和钢筋水泥.对于Java这门包含了编程方方面面的语言,有着太多的基础知识了,从最初的 ...

  2. jquery基础知识汇总

    jquery基础知识汇总 一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库.源码戳这 jQu ...

  3. Golang 入门系列(三)Go语言基础知识汇总

    前面已经了 Go 环境的配置和初学Go时,容易遇到的坑,大家可以请查看前面的文章 https://www.cnblogs.com/zhangweizhong/category/1275863.html ...

  4. C#基础知识汇总(不断更新中)

    ------------------------------目录---------------------------- 1.隐式类型2.匿名类型3.自动属性4.初始化器5.委托6.泛型7.泛型委托8 ...

  5. ArcGIS API for JavaScript开发初探——基础知识

    1.前言 在ArcGIS Web API开发体系中一共有四大类,分别为: ArcGIS API for Flex ArcGIS API for JavaScript ArcGIS API for RE ...

  6. Oracle基础知识汇总一

    Oracle基础知识 以下内容为本人的学习笔记,如需要转载,请声明原文链接   https://www.cnblogs.com/lyh1024/p/16720759.html oracle工具: SQ ...

  7. Java开发培训基础知识解析之反射机制

    Java是老牌编程语言,是当前应用最广泛的编程语言之一.想要学习Java你就一定要掌握Java基础知识,而反射对于初学Java的人来说绝对是非常重要的知识点.什么是反射?如何理解反射机制?如何使用反射 ...

  8. 【千纸诗书】—— PHP/MySQL二手书网站后台开发之基础知识

    前言: 在具体回顾每一个功能的实现前,还是有必要先温习一些项目涉及到的PHP.MySQL[语法基础].项目github地址:https://github.com/66Web/php_book_stor ...

  9. Spring基础知识汇总 Java开发必看

    Spring简介 Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版.Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅 ...

随机推荐

  1. Spring Boot:定时任务

    在我们开发项目过程中,经常需要定时任务来帮助我们来做一些内容, Spring Boot 默认已经帮我们实行了,只需要添加相应的注解就可以实现 1.pom 包配置 pom 包里面只需要引入 Spring ...

  2. week8

    ---恢复内容开始--- week8 1.动态导入模块 2.断言 3.ftp 4.socketserver 1.动态导入模块 import importlib a = importlib.import ...

  3. css制作倒三角

    布局div,并命名为id="dropdown",在style使用border属性对div进行控制 #dropdown{ width:0px; height:0px; border- ...

  4. Dubbo源码构建

    代码签出 通过以下的这个命令签出最新的项目源码: git clone https://github.com/apache/incubator-dubbo.git dubbo 分支 我们使用 maste ...

  5. cocoaPods安装爬坑总结

    1.移除现有Ruby默认源 $ gem sources --remove https://rubygems.org/   2.使用新的源 $ gem sources -a https://ruby.t ...

  6. 表单传参,在action中的参数得不到

    写上面这个的时候,发现传过去的url路径是这样的 在action后面的pro=login得不到. 只需要将method中的get改成post就可以了

  7. C语言作业(心理魔术)

    #include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include &q ...

  8. linux 免密码登陆

    1.Linux下生成密钥 ssh-keygen的命令手册,通过”man ssh-keygen“命令: 通过命令”ssh-keygen -t rsa“ 生成之后会在用户的根目录生成一个 “.ssh”的文 ...

  9. 自定义Hook

    在 class RegForm(form.Form) 中 1.验证两次密码是否相同 from django.core.exceptions import ValidationError def cle ...

  10. linux部署小结

    一.连接外网1.配置网卡 vi /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO=static IPADDR= PREFIX= GATEWAY= ...