angular2-directives 相关问题

用于有关Angular 2+指令的问题


如何添加身体上的内容?

我试图在My-App中展示身体上的弹出窗口。因此,如何使用Anular 2展示身体上的弹出窗口。我尝试过但不起作用? https://stackblitz.com/edit/angular-t4yerr?file...

回答 1 投票 0

如何使用Angular2

我试图在My-App中展示身体上的弹出窗口。因此,如何使用Anular 2展示身体上的弹出窗口。我尝试过但不起作用? https://stackblitz.com/edit/angular-t4yerr?file...

回答 1 投票 0

“Event”类型上不存在属性“clientX”。 Angular2 指令

我正在尝试在 Angular2 指令中监听鼠标的 X 位置,如下所示: @HostListener('mousemove', ['$event']) onMousemove(事件:事件): void { console.log(事件.clientX) } 但是...

回答 2 投票 0

如何在 Angular 2 中将一个组件放入另一个组件中?

我是 Angular 的新手,我仍在尝试理解它。我已经学习了 Microsoft Virtual Academy 上的课程,非常棒,但我发现他们所说的和 Ho...

回答 3 投票 0

用于转换百分比的自定义指令

我正在尝试在 Angular 2 中创建一个自定义指令,它将把输入 ngModel 的值更改为百分比,例如 数量/100 这是我想要实现的目标的示例图像。 对于

回答 3 投票 0

何时在指令 @Inputs 中使用方括号 [ ],何时不使用?

我有点困惑。 请参阅这个简单的指令: @指示({ 选择器:'[myDirective]' }) 导出类 MyDirective { 私有文本:字符串; 私有启用:布尔值...

回答 6 投票 0

在指令组合 API 中使用指令输出

Angular 文档表明,即使指令有输出,您也可以使用指令组合 API。然而,指令的输出似乎变成了组件的输出。我想使用指令的...

回答 3 投票 0

Angular Directive - 更改悬停时按钮的颜色

我有这个按钮: 我有这个按钮: <button class="btn-submit" type="button" appControlhover [defaultColor]="btnBackgroundColor" [highlightColor]="btnhoverColor" [btnhovertxtcolor]="btnColor" style="margin-top: 20px" (click)="Submit()"> Send </button> ts代码 btnBackgroundColor='#28e979'; btnhoverColor='#a6dabb'; btnhovertxtcolor='#848f90'; 自定义指令: import { Directive, OnInit, Renderer2, ElementRef, HostListener, Input, OnChanges,SimpleChanges, HostBinding } from '@angular/core'; @Directive({ selector: '[appControlhover]' }) export class ControlhoverDirective implements OnChanges { @Input() defaultColor: string; @Input() highlightColor: string; @Input() isValid: boolean = true; @HostBinding('style.backgroundColor') backgroundColor: string; @HostBinding('style.color') btnhovercolor: string; constructor() { } ngOnInit() { if (this.highlightColor != 'none') { this.backgroundColor = this.defaultColor; } else if (this.highlightColor == 'none') { this.backgroundColor = this.defaultColor; } else { this.backgroundColor = this.defaultColor; } } @HostListener('mouseenter') mouseover(eventData: Event) { if (this.highlightColor != 'none') { this.backgroundColor = this.highlightColor; this.btncolor ='#28e979'; } else if (this.highlightColor == 'none') { this.backgroundColor = this.defaultColor; } else { this.backgroundColor = this.defaultColor; } } @HostListener('mouseleave') mouseleave(eventData: Event) { if (this.highlightColor != 'none') { this.backgroundColor = this.defaultColor; } else if(this.highlightColor == 'none') { this.backgroundColor = this.defaultColor; } else { this.backgroundColor = this.defaultColor; } } } 按钮背景颜色正在更改,但我也想更改悬停时按钮上的文本颜色,否则设置为默认颜色。 任何解决方案谢谢。 从你的代码来看,我认为你90%接近答案。 我修改的: 您错过了 btnhovertxtcolor Input() 房产。 当鼠标进入事件被触发时,您将颜色this.btncolor = '#28e979'设置为默认颜色。您可以将该值替换为 this.btnhovertxtcolor。对于其余部分,将按钮(字体)颜色设置为白色或您喜欢的(悬停)文本颜色。 当鼠标离开事件被触发时,默认按钮(字体)颜色为黑色。因此,您可以将其设置为黑色,或者您可能需要定义自己的默认颜色。 export class ControlhoverDirective implements OnChanges { @Input() defaultColor!: string; @Input() highlightColor!: string; @Input() isValid: boolean = true; @Input() btnhovertxtcolor!: string; @HostBinding('style.backgroundColor') backgroundColor!: string; //@HostBinding('style.color') btnhovercolor!: string; @HostBinding('style.color') btncolor!: string; constructor() {} ngOnChanges(changes: SimpleChanges): void { //throw new Error('Method not implemented.'); } ngOnInit() { if (this.highlightColor != 'none') { this.backgroundColor = this.defaultColor; } else if (this.highlightColor == 'none') { this.backgroundColor = this.defaultColor; } else { this.backgroundColor = this.defaultColor; } } @HostListener('mouseenter') mouseover(eventData: Event) { if (this.highlightColor != 'none') { this.backgroundColor = this.highlightColor; //this.btncolor = '#28e979'; this.btncolor = this.btnhovertxtcolor; } else if (this.highlightColor == 'none') { this.backgroundColor = this.defaultColor; this.btncolor = "white" } else { this.backgroundColor = this.defaultColor; this.btncolor = "white" } } @HostListener('mouseleave') mouseleave(eventData: Event) { if (this.highlightColor != 'none') { this.backgroundColor = this.defaultColor; this.btncolor = 'black'; } else if (this.highlightColor == 'none') { this.backgroundColor = this.defaultColor; this.btncolor = 'black'; } else { this.backgroundColor = this.defaultColor; this.btncolor = 'black'; } } } 演示@StackBlitz 您可以使用 https://angular.dev/api/core/Renderer2 和元素引用来访问当前元素及其 DOM 渲染器(以更改样式)。 export class ControlhoverDirective implements OnChanges { @Input() btnhovertxtcolor: string; defaulttxtcolor: string = '#fff'; // your default color here constructor(private el: ElementRef, private renderer: Renderer2) { } @HostListener('mouseenter') mouseover(eventData: Event) { this._setColor(this.btnhovertxtcolor); } @HostListener('mouseleave') mouseleave(eventData: Event) { this._setColor(this.defaulttxtcolor); } private _setColor(color: string) { this.renderer.setStyle(this.el.nativeElement, 'color', color); } } 我会按照这些思路做一些事情...在我的例子中,我将一个类附加到项目,但在你的例子中,你可以附加背景颜色和文本颜色。 @Directive({ // eslint-disable-next-line @angular-eslint/directive-selector selector: '[hoverClass]', standalone: true, }) export class HoverClassDirective { elementRef = inject(ElementRef) @Input() hoverClass!: string; @HostListener('mouseenter') onMouseEnter() { this.elementRef.nativeElement.classList.add(this.hoverClass); } @HostListener('mouseleave') onMouseLeave() { this.elementRef.nativeElement.classList.remove(this.hoverClass); } }

回答 3 投票 0

在自定义验证器指令中注入 ngControl,会导致循环依赖

我正在尝试创建自定义 Angular 2 验证器指令,它像这样注入 NgControl : @指示({ 选择器:'[ngModel][customValidator]', 提供者:[{提供:NG_VALIDATORS,useExist...

回答 3 投票 0

反应式表单自定义指令不会运行 OnInit 或 *ngIf 显示隐藏输入时

在 Angular 中使用反应式形式,我创建了两个指令,一个指令通过除以 100 将值从美分转换为美元,另一个指令通过乘以 100 将美元转换为美分。这有效...

回答 1 投票 0

Angular 2 访问组件内的 ng-content

如何从组件类本身访问组件的“内容”? 我想做这样的事情: 我的文本要转换为大写 怎么会...

回答 6 投票 0

是否可以使用选择器动态渲染 Angular 组件?

`是否可以动态渲染 Angular 组件?例如,我的 .ts 文件中有组件选择器名称。当我使用插值和innerHTML绑定.html文件中的变量时...

回答 1 投票 0

Angular 17 - 如何使用 @if @else

我正在尝试将代码指令从 Angular 16 转换为 Angular 17。但是,我无法在 Angular 17 中实现引用,因此对于其他指令,它将引用相同的 ng-template。 <...

回答 2 投票 0

在输入时将参数传递给 Angular 4 指令

我有一个像这样的输入文本字段 我的指令是: 从'@

回答 4 投票 0

如何在 angular2 中使用微调器加载图像

我的应用程序有很多带有描述的图像。当用户导航时,这些文本首先出现,并且图像加载时有一些延迟。我想在这里添加一个微调器。显示微调器的指令...

回答 4 投票 0

如何模拟独立指令?

表格单元格中的锚标记附加有 [routerLink] 指令。我的目的是测试该表。我想嘲笑该指令。我怎样才能做到这一点?更详细的问题:如何提供

回答 1 投票 0

无法绑定到单元测试中独立角度指令的输入

我正在尝试为修改 Angular CDK 表的指令编写测试。为了测试这一点,我在 *.spec.ts 文件中添加了一个测试组件,在其中设置了一个简单的表格并添加了我的指令。

回答 1 投票 0

有没有办法使用 HostListener 和 Angular 中的指令来查找用户是否已到达不可滚动 div 的底部?

在我的角度应用程序中,我有一个带有柔性显示屏的主布局,高度为 100vh,溢出设置为隐藏。里面是主要内容div,高度为100%并设置了溢出...

回答 1 投票 0

Angular 表单状态验证器 2

我正在尝试编写自定义表单验证器。 我有两个组件主窗体和选项。在选项组件中,我有复选框列表,并且想验证每一行至少被检查...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.