如何在Angular2中使用不带ngModel的双向绑定编写自定义指令

Nlp2ct.anson

在angular2中,如何通过两种方式编写自定义指令,并且我不想将naModel用于数据绑定。

当前,我想实现一个函数,当鼠标进入或离开div时,该指令还将修改绑定对象。以下是我的代码:

指示:

import { Directive, HostListener, Input } from '@angular/core';
@Directive({
  selector: '[rowHover]'
})
export class HoverDirective {

  @Input('rowHover') hover: boolean;
  @HostListener('mouseenter') onMouseEnter() {
    this.hover = true;
  }
  @HostListener('mouseleave') onMouseLeave() {
    this.hover = false;
  }
}

成分:

import {Component} from "@angular/core";
import {PairRowComponent} from './pair-row.component';
import {HoverDirective} from '../directives/pair-hover.directive';

@Component({
  selector: "pairs-result",
  templateUrl: "./app/pairs/components/pairs.html",
  directives: [PairRowComponent, HoverDirective]
})
export class PairsComponent {
  public showDetail: boolean = false;
}

的HTML

<ul class="search-list">
    <li [(rowHover)]="showDetail">{{showDetail}}<pair-row></pair-row></li>
  </ul>

我想在鼠标进入或离开li标签时更改showDetail的值。

非常感谢!

初级

您可以使showDetail对象成为而不是boolean,然后更改该对象的属性。注意,您甚至不需要将属性标记为输出(()):

@Component({
  selector: "pairs-result",
  template: `
  <ul class="search-list">
    <li [rowHover]="showDetail">{{showDetail.value}}<pair-row></pair-row></li>
  </ul>
  `,  // ^^^^^^^^-- no need of (rowHover)   ^^^^^^^^--- .value added here as well
  directives: [HoverDirective]
})
export class PairsComponent {
  public showDetail: any = {value: false};   // property is now an object instead of a bool
}

指示:

@Directive({
  selector: '[rowHover]'
})
export class HoverDirective {
  @Input('rowHover') hover: any;
  @HostListener('mouseenter') onMouseEnter() {
    this.hover.value = true;                       // <-- notice the .value here
  }
  @HostListener('mouseleave') onMouseLeave() {
    this.hover.value = false;                       // <-- notice the .value here
  }
}

在此处检查演示插件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在自定义指令中检索ngmodel值

来自分类Dev

将自定义指令绑定到Angular2中的Observable

来自分类Dev

如何在Dart中使用Angular2实现自定义验证器?

来自分类Dev

AngularJS自定义指令双向绑定

来自分类Dev

使用ngFor处理自定义指令-Angular2

来自分类Dev

在Angular 2中使用NgModel和可变绑定属性进行双向绑定?

来自分类Dev

如何在自定义指令中使用ngChange

来自分类Dev

如何在 angular 5 中使用启用的“as 语法”创建自定义指令?

来自分类Dev

如何在angular中创建自定义指令

来自分类Dev

如何在angular js中实现自定义指令?

来自分类Dev

如何在 angular2 的不同模块中使用自定义错误处理程序服务

来自分类Dev

如何在Vue 3中使用Typescript创建全局自定义指令

来自分类Dev

JavaFX中的自定义双向绑定

来自分类Dev

JavaFX中的自定义双向绑定

来自分类Dev

自定义指令-双向绑定不起作用

来自分类Dev

如何在Angular2中使用* ngFor动态生成ngModel?

来自分类Dev

AngularJS:自定义指令中的双向数据绑定不起作用

来自分类Dev

双向绑定隔离范围在自定义指令中不起作用-AngularJS

来自分类Dev

双向数据绑定不适用于Internet Explorer 9中的自定义指令

来自分类Dev

angular2自定义指令输入语法

来自分类Dev

Angular指令-如何使用JQuery将ngModel和ngBind添加到自定义指令元素?

来自分类Dev

如何在React 16.9中编写自定义属性(指令)?

来自分类Dev

如何在Angular2 / 4/5中实现自定义异步验证器

来自分类Dev

如何在Angular2中设置全局自定义标头?

来自分类Dev

如何在Angular2中制作自定义验证器

来自分类Dev

如何在Angular2清晰度图标中添加自定义图标?

来自分类Dev

将ngModel而不是值绑定到用于货币输入的自定义Angular指令

来自分类Dev

Angular如何在自定义ErrorHandler中使用HttpClient?

来自分类Dev

Angular2 ngModel 双向绑定不起作用

Related 相关文章

  1. 1

    如何在自定义指令中检索ngmodel值

  2. 2

    将自定义指令绑定到Angular2中的Observable

  3. 3

    如何在Dart中使用Angular2实现自定义验证器?

  4. 4

    AngularJS自定义指令双向绑定

  5. 5

    使用ngFor处理自定义指令-Angular2

  6. 6

    在Angular 2中使用NgModel和可变绑定属性进行双向绑定?

  7. 7

    如何在自定义指令中使用ngChange

  8. 8

    如何在 angular 5 中使用启用的“as 语法”创建自定义指令?

  9. 9

    如何在angular中创建自定义指令

  10. 10

    如何在angular js中实现自定义指令?

  11. 11

    如何在 angular2 的不同模块中使用自定义错误处理程序服务

  12. 12

    如何在Vue 3中使用Typescript创建全局自定义指令

  13. 13

    JavaFX中的自定义双向绑定

  14. 14

    JavaFX中的自定义双向绑定

  15. 15

    自定义指令-双向绑定不起作用

  16. 16

    如何在Angular2中使用* ngFor动态生成ngModel?

  17. 17

    AngularJS:自定义指令中的双向数据绑定不起作用

  18. 18

    双向绑定隔离范围在自定义指令中不起作用-AngularJS

  19. 19

    双向数据绑定不适用于Internet Explorer 9中的自定义指令

  20. 20

    angular2自定义指令输入语法

  21. 21

    Angular指令-如何使用JQuery将ngModel和ngBind添加到自定义指令元素?

  22. 22

    如何在React 16.9中编写自定义属性(指令)?

  23. 23

    如何在Angular2 / 4/5中实现自定义异步验证器

  24. 24

    如何在Angular2中设置全局自定义标头?

  25. 25

    如何在Angular2中制作自定义验证器

  26. 26

    如何在Angular2清晰度图标中添加自定义图标?

  27. 27

    将ngModel而不是值绑定到用于货币输入的自定义Angular指令

  28. 28

    Angular如何在自定义ErrorHandler中使用HttpClient?

  29. 29

    Angular2 ngModel 双向绑定不起作用

热门标签

归档