小编Ric*_*cky的帖子

量角器和黄瓜:功能使用async/await超时

我正在使用Angular 5,Protractor和Cucumber进行e2e和bdd测试.当我在终端上运行时,ng e2e我收到以下错误:

当我打开页面#e2e\steps\home.steps.ts:15

错误:函数超时,确保promise在5000毫秒内解析

在第15行,我有:

 When(/^I open the page$/, async () => {
    await browser.get('http://localhost:49156');
 });
Run Code Online (Sandbox Code Playgroud)

具体来说,就是这条线:

 When(/^I open the page$/, async () => {
Run Code Online (Sandbox Code Playgroud)

cucumber protractor angular

7
推荐指数
1
解决办法
6651
查看次数

Angular 6:如何安装以前版本的 Angular 项目

如何使用当前的 Angular-cli 版本(Angular 6)安装以前版本的 Angular 项目。

我找到了一个命令,但已弃用:

ng new my_project --ng4

angular angular5 angular6 angular-cli-v6

6
推荐指数
1
解决办法
7748
查看次数

Angular 5:验证禁用的字段

我找到了这篇文章,但它不能解决我的问题。我无法验证禁用 FormControls 的简单表单。我确实在这里做了一个 stackblitz 示例,请查看我的代码并验证如果名称控件被禁用,则无法验证它的值。

闪电战代码

先感谢您。

validation disabled-control angular angular5

6
推荐指数
2
解决办法
7466
查看次数

Angular 4:NgModel 不起作用。不将值设置为“日期”字段

使用 Angular 4,我尝试将值设置为“日期”类型的输入,但我无法做到。我的领域的结构如下:

<input 
    type="date"
    class="form-control"                        
    ([ngModel])="edt_object.list_changedate" 
    (ngModelChange)="edt_object.list_changedate = $event"
    formControlName="list_changedate"
    name="list_changedate"
    id="list_changedate"
    style="width: 228px!important">
Run Code Online (Sandbox Code Playgroud)

我尝试设置该值的 Typescript 代码如下:

this.edt_object.list_changedate = this.lista_selected.list_changedate
Run Code Online (Sandbox Code Playgroud)

然而,什么也没有发生。当我使用 jQuery 分配值时(是的,同时使用 Angular 和 jQuery)它确实有效,但是,当我尝试使用 Angular 验证该字段时,该字段的状态为“无效”,因为 Angular 没有任何价值。我该怎么办?

date ngmodel angular

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

Jest 的匹配器错误:接收到的值必须是一个函数

我正在前端工作,并测试我的库,我收到一个预期的错误,但我无法做出断言。我有下一个代码:

it('If the username is not entered, I get an error', () => {
    try {
      new SDK('test', {
        password: 'aaaabbbbcccc',
        key: 'ddddeeefff',
      });
    } catch (error) {
      expect(error).toThrow(
        `Error: The 'username' property has not been entered`
      );
    }
  });
Run Code Online (Sandbox Code Playgroud)

如您所见,为了对我的库进行身份验证,我需要:用户名、密码和密钥。这是我得到的错误:

在此输入图像描述

谢谢你!

javascript matcher throw jestjs

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

[Angular 单元测试]:如何在单元测试中模拟 QueryList(无集成测试)

在内容投影场景中,我有以下场景:

// my-component.ts
 @ContentChildren(SelectOption) selectOptions: QueryList<SelectOption>;

...
ngAfterContentInit() {
    this.selectOptions.forEach((selectOption, i) => {
       selectOption.index = i;
    });
}
Run Code Online (Sandbox Code Playgroud)

假设模板具有以下结构:

<ng-content select="select-option"></ng-content>
Run Code Online (Sandbox Code Playgroud)

我尝试通过以下方式模拟测试,但找不到允许我添加子组件的“添加”方法。

// my-component.spec.ts
component.selectOptions = {} as QueryList<SelectOption>;
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在单元测试场景(不是集成测试)中添加预计的组件

unit-testing mocking jasmine angular angular-content-projection

3
推荐指数
1
解决办法
3506
查看次数

Angular 6:无法读取未定义的属性“ get”

我正在使用Angular进行练习,尝试使用“内置验证器”时遇到问题。我尝试将表单字段的值作为参数传递,但是当我尝试执行此操作时,我只是看到标题为“无法读取未定义的属性'get'的未定义”的错误信息:

form.component.ts

this.form = new FormGroup({
      'name': new FormControl(this.name, [
        Validators.required,
        Validators.minLength(4),
        forbiddenNameValidator(this.name)
      ]),
      'alterEgo': new FormControl(this.alterEgo),
      'power': new FormControl(this.power, Validators.required)
    });
Run Code Online (Sandbox Code Playgroud)

...更多代码...

get name(): string { return this.form.get('name').value };
get power(): string { return this.form.get('power').value };
Run Code Online (Sandbox Code Playgroud)

当我尝试将forbiddenNameValidator(this.name)方法作为参数发送时,出现该错误。

form.component.html

<form [formGroup]="form" (ngSubmit)="Ver()">
<div class="form-group">
   <label for="name">Name</label>
   <input type="text" class="form-control" name="name" formControlName="name">
</div>
</form>
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

在此处输入图片说明

custom-validators angular angular5 angular6

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

如何从 Angular 表单中迭代控件数组属性

我遇到以下问题,我需要使用 forEach 循环迭代 Angular 中表单的控件属性。我正在编写以下代码:

const arr = this.bankForm.controls;
arr.forEach((element: {[key: string]: AbstractControl}) => {

});
Run Code Online (Sandbox Code Playgroud)

我有下一个错误:

在此输入图像描述

typescript angular index-signature angular5

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

Primeng (Angular 4):ContextMenu 出现在另一个位置

我有下一个代码:

<p-dataTable [contextMenu]="cm" [value]="Usuarios" selectionMode="single" [(selection)]="selectedRecord" resizableColumns="true" [rows]="10" [paginator]="true" [pageLinks]="3" [rowsPerPageOptions]="[5,10,20]" scrollable="true" scrollWidth="100%">
        <p-column [sortable]="true" field="id" header="ID" [style]="{'width':'50px'}"></p-column>
        <p-column [sortable]="true" field="dni" header="DNI" [style]="{'width':'80px'}"></p-column>
        <p-column [sortable]="true" field="ap_paterno" header="Apellido Paterno" [style]="{'width':'120px'}"></p-column>
        <p-column [sortable]="true" field="ap_materno" header="Apellido Materno" [style]="{'width':'120px'}"></p-column>
        <p-column [sortable]="true" field="nombres" header="Nombres" [style]="{'width':'120px'}"></p-column>
        <p-column [sortable]="true" field="fecnac" header="Fecha de Nac" [style]="{'width':'150px'}"></p-column>
        <p-column [sortable]="true" field="est_civil" header="Estado Civil" [style]="{'width':'120px'}"></p-column>
        <p-column [sortable]="true" field="fec_ingreso" header="Fecha de Ingreso" [style]="{'width':'120px'}"></p-column>
        <p-column [sortable]="true" field="movil" header="Movil" [style]="{'width':'100px'}"></p-column>
        <p-column [sortable]="true" field="fijo" header="Fijo" [style]="{'width':'90px'}"></p-column>
        <p-column [sortable]="true" field="direccion" header="Dirección" [style]="{'width':'180px'}"></p-column>
        <p-column [sortable]="true" field="distrito" header="Distrito" [style]="{'width':'200px'}"></p-column> …
Run Code Online (Sandbox Code Playgroud)

contextmenu angular primeng-datatable

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

如何知道按键事件中按下的按键在字符串中的具体位置

我不知道是否可能,但我需要知道使用 javascript 输入字符的具体位置。例如:

我有:162345.25,如果我想输入另外6个数字,在三到四个数字之间(1623 6 45.25),我需要知道在哪个位置输入(在本例中是第五个位置)。

我的问题是我需要知道在“按键”事件中我只能捕获按下的按键。有人知道这是否可能?

javascript keypress onkeypress typescript

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