小编Sha*_*ggy的帖子

焦点不会停留在 PrimeNG <p-dialog> 组件内

我在项目中一直使用PrimeNG。我遇到一个关于
p-dialog 组件焦点的问题。即使在 PrimeNG 网站给出的示例中,我们也能够重现此问题。例如https://www.primefaces.org/primeng/#/dialog
重现此内容的步骤:

  1. 单击“显示”按钮
  2. 按键盘上的“Tab”。

您可以看到焦点丢失并转到后屏幕。
现在我尝试使用modal文档中提供的属性以及值modaltrue

有人遇到过这个问题吗?我有什么遗漏的吗?
当对话框打开时,我应该如何保持和限制焦点在对话框上而不是在后屏幕上?

modal-dialog primeng angular

5
推荐指数
1
解决办法
3530
查看次数

如果包装类已经是不可变的,为什么我们需要Atomic*类?

我最近遇到了java.util.concurrent.atomic包中的原子类.据我所知,不可变类本质上是默认的线程安全,所以我们不需要同步它们.后来我才知道Integer,Boolean,Character等包装类本质上是不可变的,为什么我们需要像AtomicInteger或AtomicLong这样的Atomic*类.另外,请解释什么是AtomicReference.

java concurrency multithreading

2
推荐指数
1
解决办法
1356
查看次数

当浮点值相等时,如何让for循环继续执行?

现在我正在使用C,我在完成某项任务时遇到了问题.任务是能够输入一个数字,之后将显示所用硬币的价值.我的问题是,假设有0.10美分的价值变化,我的代码将跳过一角钱圈(检查0.10的值是否小于变化的值,然后减去)并继续进行镍...然后,在变化值变为0.05并且变为便士之后将跳过镍,然后将停止在0.01并结束硬币计数使得计数一分钱短并且也比需要更长.

int main(void) {
  float c;

  int k = 0;

  printf("How much change?: \n");
  c = GetFloat();

  //checks for quarters
  for (float q = 0.25; q <= c; k = k + 1) {

    c = c - 0.25;
    printf("q \n");
  }
  //checks for dimes
  for (float d = 0.10; d <= c; k = k + 1) {

    c = c - 0.10;
    printf("d \n");
  }
  //checks for nickels
  for (float n = 0.05; n <= c; k = …
Run Code Online (Sandbox Code Playgroud)

c

2
推荐指数
1
解决办法
69
查看次数

无法在单元测试用例中调用 @HostListener 方法

我创建了一个自定义指令@Directive,我正在使用@HostListener该指令并且代码工作正常。
现在,在编写测试用例时,我需要@HostListener从单元测试用例中调用该方法。我也可以看到在代码覆盖率中没有覆盖代码。
以下是代码:

focus-encapsulation.directive.ts

import { Directive, ElementRef, HostListener } from '@angular/core';

@Directive({
  selector: '[appFocusEncapsulation]'
})
export class FocusEncapsulationDirective {

  constructor(private el: ElementRef) { }

  @HostListener('keydown', ['$event'])
  keyDown(event: Event) {
    console.log('event : ', event);
    event.preventDefault();
  }

}
Run Code Online (Sandbox Code Playgroud)

focus-encapsulation.directive.spec.ts

import { FocusEncapsulationDirective } from './focus-encapsulation.directive';
import { Component, ElementRef, DebugElement } from '@angular/core';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from "@angular/platform-browser";

@Component({
  template: `<div appFocusEncapsulation><button type="button" (click)="add()">ADD</button></div>`
})
class TestHoverFocusComponent …
Run Code Online (Sandbox Code Playgroud)

unit-testing jasmine angular-directive angular

2
推荐指数
1
解决办法
7686
查看次数