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. --save-dev --save 的区别

    --save 是发布会还在使用 --save-dev 是在开发中需要用到的 --save 依赖的文件在denpendencis下 --save-dev 依赖的文件都在dvedependencis下

  2. flask 第五章 WebSocket GeventWebsocket 单聊群聊 握手 解密 加密

    1.WebSocket 首先我们来回顾一下,我们之前用socket学习过的项目有: 1.django 2.flask 3.FTP - 文件服务 HTTP - TCP (特点): 1.一次请求,一次响应 ...

  3. 使用docker安装sentry

    一.安装docker yum -y install docker 更换docker镜像源为中科大的 在配置文件/etc/docker/daemon.json中加入 { "registry-m ...

  4. 修改AD中PCB各层的透明度

    1.采用的Altium designer 版本为AD16: 2.进入PCB编辑页面,快捷键Ctrl+D,进入视图配置: 3.选择“透明度”,设置选中的层.对象所需的透明度:(横向可以连续选择多个对象, ...

  5. java基础3(二)

    基础加强 类加载器 A.类加载器获取classpath下任意内容 注意: 可以通过ClassLoader可以获取classpath下的所有内容. SpringMVC 1.整体架构 流程图 2.流程细节 ...

  6. MySQL中MyISAM与InnoDB区别

    原文:https://blog.csdn.net/frycn/article/details/70158313?utm_source=copy InnoDB:支持事务处理等不加锁读取支持外键支持行锁不 ...

  7. putty导出、导入数据库

    e.g 从223服务器导数据库的t_marine_area到227服务器 用putty连接223服务器 导出数据库命令:pg_dump -h localhost -U postgres -d mari ...

  8. Excel文件上传功能实现

    $(function(){ let file; //上传点击事件 $('#btn').bind('click', function(){ let val = $('#fb').filebox('get ...

  9. webpack-dev-server报错

    运行npm run dev报错,---- webpack-dev-server --inline --progress --config build/webpack.dev.conf.js npm E ...

  10. 吴恩达机器学习笔记5-Octave基本操作

    1.逻辑运算 1==2 %false :注释用%,这句话意思是判断1是否等于2,false,输出0 1~=2 %true  1不等于2 为true,输出为1 1&&0 %and 1|| ...