小编fir*_*baa的帖子

Angular 6:HttpHeaders 无法在 Chrome 和 IE11(而不是 Firefox)中读取 null 的属性“长度”

在我的Angular6应用程序下,我使用HttpClient和一些标头注入到我的 htpp 调用以从我的后端服务器获取数据:

我的服务:

@Injectable()
export class LoadUserInfosService {

  public _headers = new HttpHeaders().set('Content-Type', 'application/json');

  constructor(private httpClient: HttpClient) {}

  getUserPnsInfos(cuid): Observable<object> {
    const headers = this._headers.append('login', login);
    return this.httpClient.get(myBackUrl, {headers: headers});
  }
}
Run Code Online (Sandbox Code Playgroud)

我订阅的组件:

loadUserInfosFromPns(login) {
    this.loadUserInfosService.getUserPnsInfos(login).subscribe(infos => {
      let receivedInfos: any;
        receivedPnsInfos = infos ;
        console.log(receivedPnsInfos);
        if (pnsInfos !== null && receivedPnsInfos.cuid === cuid ) {
        } else {
          this.router.navigate(['unauthorized'], {skipLocationChange: true});
        }
      },
      error => {
        console.log(error);
      });
  }
Run Code Online (Sandbox Code Playgroud)

在 Chrome 或 IE11 上运行时,我收到一些关于我的请求标头的错误: …

javascript rest google-chrome angular angular-httpclient

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

Angular 7:ng测试挂起,重复运行测试

我最近将Angular 6应用迁移到了Angular 7

我的package.json看起来像这样:

{
  "name": "myApp",
  "version": "3.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --public-host http://localhost:4200/",
    "build": "ng build --prod",
    "serve": "ng serve --optimization=true --source-map=true --eval-source-map=true --live-reload=true --aot=false --vendor-chunk=true",
    "build-prod": "node --max_old_space_size=5000 ./node_modules/.bin/ng build --configuration=production",
    "build-localProd": "node --max_old_space_size=5000 ./node_modules/.bin/ng build --configuration=localProduction",
    "build-dev": "node --max_old_space_size=7000 ./node_modules/.bin/ng build --configuration=development",
    "test": "ng test --source-map=false --watch=false --code-coverage",
    "test-headless": "ng test --browsers=ChromeHeadless --watch=false --code-coverage",
    "doc": "compodoc -p src/tsconfig.app.json -s --port 8081",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "sonar-scanner": …
Run Code Online (Sandbox Code Playgroud)

karma-runner karma-jasmine angular-cli angular angular7

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

MySQL错误:sql_mode = only_full_group_by

我有这个脚本,我习惯于为动态结果做一个简单的投影

    SELECT 
    M.nom_utilisateur, 
    SUM(M.montant_bulletin ) as Montant_Total_BS,
    SUM(M.montant_payer   ) as Montant_Total_payer,
    COUNT(M.ref_bs ) as nbr_bs_total,

(SELECT COUNT(*) FROM mutuelle_bi.`Mutuelle` WHERE nom_utilisateur = M.nom_utilisateur  AND (M.nom_assurence  = "Star" AND M.etat_bs = "Remboursé")) as nbr_bs_total_payer,

(SELECT COUNT(*) FROM mutuelle_bi.`Mutuelle` WHERE nom_utilisateur = M.nom_utilisateur  AND (M.nom_assurence  = "Star" AND M.etat_bs = "Non remboursé")) as nbr_bs_non_payer,

(SELECT COUNT(*) FROM mutuelle_bi.`Mutuelle` WHERE nom_utilisateur = M.nom_utilisateur  AND (M.nom_assurence  = "Star" AND M.etat_bs = "En cours")) as nbr_bs_en_cours,

(SELECT COUNT(*) FROM mutuelle_bi.`Mutuelle` WHERE nom_utilisateur = M.nom_utilisateur  AND …
Run Code Online (Sandbox Code Playgroud)

mysql

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

打字稿:检查对象是否按值存在于数组中

我有这些数据:

roles = [
{roleId: "69801", role: "ADMIN"}
{roleId: "69806", role: "SUPER_ADMIN"}
{roleId: "69805", role: "RB"}
{roleId: "69804", role: "PILOTE"}
{roleId: "69808", role: "VENDEUR"}
{roleId: "69807", role: "SUPER_RB"}
]
Run Code Online (Sandbox Code Playgroud)

我必须过滤我的表,以检查是否有一个对象包含一个特定的角色值.

我的功能应如下所示:

checkRoleExistence(role){

// if role exists on one of the objects return true
// else returne false
}
Run Code Online (Sandbox Code Playgroud)

使用它我会这样做:

let ifExists = this.checkRoleExistence("PILOTE") ;
Run Code Online (Sandbox Code Playgroud)

我想使用Ecmascript"过滤器"功能.

建议?

javascript filtering typescript ecmascript-6 angular

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

Selenium Webdriver:如何使用他的相对路径上传文件(javascript)

在 chrome 下使用selenium webdriver 和 node.js (javascript)。

在某些测试中,我必须使用他的相对路径上传文件(我要上传的文件与测试文件在同一目录中)

var fileInput = driver.findElement(webdriver.By.xpath('//*[@id="j_idt69:j_idt70_input"]'));
fileInput.sendKeys('./file.xml');
Run Code Online (Sandbox Code Playgroud)

奇怪的是我的测试失败了,我发现了这个错误:

My error handler... WebDriverError: unknown error: path is not absolute: 
Run Code Online (Sandbox Code Playgroud)

事实上,我使用的是相对路径,因为我的测试旨在用于不同的位置(VMs、jenkins、pc..)。绝对路径对我没有用。

建议??

javascript selenium node.js selenium-webdriver

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

Angular:单元测试路由:预期''为'/ route'

我正在使用我的Angular应用程序进行单元测试,

我的路由在特定模块中被删除,该模块是在app.module.ts下导入的,

这是我的路由模块:

APP-routing.module.ts

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import { LoginComponent } from './login/login.component';
import { WelcomeComponent } from './welcome/welcome.component';
import { CustomersListComponent } from './customer/customers-list/customers-list.component';
import { CustomerDetailComponent } from './customer/customer-detail/customer-detail.component';
import { ApplicationParametersComponent } from './superAdministrator/application-parameters/application-parameters.component';
import { InscriptionComponent } from './inscription/inscription.component';

const routes: Routes = [
  { path: '', redirectTo: '/login', pathMatch: 'full' },
  { path: 'login',  component: LoginComponent },
  { path: 'login/:keyWording',  component: LoginComponent },
  { path: …
Run Code Online (Sandbox Code Playgroud)

routing unit-testing typescript karma-jasmine angular

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

Angular mat-select 获取选中的选项数据对象

在我的Angular 7应用程序下,我使用的是 mat-select 组件:

<mat-form-field  class="col-md-3" color="warn">
     <mat-select placeholder="Selectionner le code Edo"
                  id="codeEdo"
                  [(value)]="selectedCodeEdoValue"
                  ngDefaultControl
                  formControlName="codeEdo">
     <mat-option (onSelectionChange)="onEdoSelectionChanged(edo )"
                 *ngFor="let edo of shopsList"
                  [value]="edo.edoId">
                  {{edo.edoId}}
     </mat-option>
     </mat-select>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

我的选项数据如下:

let shopsList= [
  {
    'edoId': '4010',
    'storeName': 'ABBEVILLE'
  }
  ,
  {
    'edoId': '3650',
    'storeName': 'AGEN'
  }
  ,
  {
    'edoId': '3298',
    'storeName': 'AIX ALLEES PROVENCALES'
  }
];
Run Code Online (Sandbox Code Playgroud)

我的目的是在选择一个选项时获取选定的对象数据,而不仅仅是值

例如,当我选择第一个选项时,我想得到这个:

result = {
    'edoId': '4010',
    'storeName': 'ABBEVILLE'
}
Run Code Online (Sandbox Code Playgroud)

不仅是值“4010”

正如你所看到的,我试过这个: (onSelectionChange)="onEdoSelectionChanged(edo )

但这总是激发我两个事件 …

javascript angular-material angular-material2 angular angular6

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

垫选择组件的角度 patchValue

在我的Angular 7应用程序中,我以反应形式使用 Angular 材料的mat-select组件。

视图如下所示:

<mat-form-field class="col-md-3" color="warn">
   <mat-select placeholder="Selectionner la boutique"
             id="libelleShop"
             [(value)]="selectedlibelleShopoValue"
             ngDefaultControl
             formControlName="libelleShop"
             (selectionChange)="onShopSelectionChanged($event)">
             <mat-option *ngFor="let shop of shopsList"
                          [value]="shop">
                {{shop.storeName}}
            </mat-option>
  </mat-select>
Run Code Online (Sandbox Code Playgroud)

MD数据如下:

shopsList= [
{
    'edoId': '2119',
    'storeName': 'AIX LES BAINS'
  },
  {
    'edoId': '2123',
    'storeName': 'ANNEMASSE'
  },
  {
    'edoId': '2460',
    'storeName': 'ALENCON'
  },
  {
    'edoId': '2478',
    'storeName': 'Grand Evreux Carrefour'
  },
  {
    'edoId': '2632',
    'storeName': 'DESTRELAND'
  }
]
Run Code Online (Sandbox Code Playgroud)

第一次加载后,选项成功显示在选择下拉列表中,并且我有一个按钮用于在单击时强制选择垫子的值。

我已经尝试过这个:

onClick(){
    let shopObjToDisplay = {};
    shopObjToDisplay['edoId'] = '2460';
    shopObjToDisplay['storeName'] = …
Run Code Online (Sandbox Code Playgroud)

javascript angular-material angular-material2 angular angular-reactive-forms

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

Angular:如何以编程方式将 css 样式设置为正文,与打字稿中一样重要

在我的角度应用程序下

我使用此代码来设置自定义正文样式:

  constructor(private elementRef: ElementRef) { }

  ngOnInit() {
    this.elementRef.nativeElement.ownerDocument.body.style.overflowY = 'hidden';
  }
Run Code Online (Sandbox Code Playgroud)

对于某些特定的场景我必须添加“重要”

这会是这样的:

   this.elementRef.nativeElement.ownerDocument.body.style.overflowY = 'hidden !important';
Run Code Online (Sandbox Code Playgroud)

但这是行不通的,并且“重要”没有添加到样式中。

要注意 ; 因为我需要将其应用于主体本身,而不是应用于组件之外的特定 html 元素,所以 ngStyle 无法做到这一点。

建议??

javascript css typescript angular-template angular

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

Docker Swarm:docker stack 在未标记的图像上部署结果 &lt;none&gt;

我正在使用docker swarm 模式主机将我的注册表中的一些图像部署到我的应用程序服务器中:

我在注册表中的图像看起来像这样(正在执行docker images):

REPOSITORY                                                 TAG                   IMAGE ID            CREATED            SIZE
localhost:5000/myApp                                       G02R00C09_myTag   c1fc2242f9a0        2 hours ago         272MB
Run Code Online (Sandbox Code Playgroud)

我的 docker compose 文件下,我的服务如下所示:

---
version: '3.4'
services:
  ihm:
    image: myRegistryServer:5000/myApp:G02R00C09_myTag   
    stdin_open: true
    volumes:
    - /opt/logs:/opt/logs
    tty: true
    ports:
      - target: 80
        published: 80
        protocol: tcp
        mode: host
    deploy:
      mode: global
      placement:
        constraints:
          - node.labels.type == abc
    healthcheck:
      disable: true
Run Code Online (Sandbox Code Playgroud)

->执行后docker stack deploy

我得到了我的筹码和我的服务以及运行(当我运行docker stack lsdocker service ls,一切正常)

-> …

docker dockerfile docker-registry docker-compose docker-swarm

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