小编Kay*_*Kay的帖子

Angular + Material - 如何刷新数据源(mat-table)

我使用mat-table列出用户所选语言的内容.他们还可以使用对话框面板添加新语言.他们添加了一种语言并返回.我希望我的数据源刷新以显示他们所做的更改.

我通过从服务获取用户数据并将其传递到refresh方法中的数据源来初始化数据存储区.

Language.component.ts

import { Component, OnInit } from '@angular/core';
import { LanguageModel, LANGUAGE_DATA } from '../../../../models/language.model';
import { LanguageAddComponent } from './language-add/language-add.component';
import { AuthService } from '../../../../services/auth.service';
import { LanguageDataSource } from './language-data-source';
import { LevelbarComponent } from '../../../../directives/levelbar/levelbar.component';
import { DataSource } from '@angular/cdk/collections';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/of';
import { MatSnackBar, MatDialog } from '@angular/material';

@Component({
  selector: 'app-language',
  templateUrl: './language.component.html',
  styleUrls: ['./language.component.scss']
})
export class LanguageComponent implements OnInit {

  displayedColumns = …
Run Code Online (Sandbox Code Playgroud)

refresh angular-material angular

80
推荐指数
14
解决办法
11万
查看次数

Angular - res.json()不是函数

我的API服务存在问题.此服务连接到我的nodejs后端api.

错误说

ERROR TypeError: res.json is not a function
Run Code Online (Sandbox Code Playgroud)

我在最近更新此服务后使用HTTPClient而不是Http时收到此错误.我得到这个响应因为我错过了旧的http与新?如果那样的情况是新的响应,我该如何使用它?

import { Injectable } from '@angular/core';
import { environment } from '../../environments/environment';
import { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';
import { Response } from '@angular/http';
import { Observable } from 'rxjs/Rx';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';

import { JwtService } from './jwt.service';

@Injectable()
export class ApiService {
  constructor(
    private http: HttpClient,
    private jwtService: JwtService
  ) {}

  private setHeaders(): HttpHeaders {
    const headersConfig = {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
    };
    if …
Run Code Online (Sandbox Code Playgroud)

angular

31
推荐指数
3
解决办法
7万
查看次数

如何使用 axios 重试 5xx 请求

我想使用 axios 重试 5xx 请求。我在 try catch 块中间有我的主要请求。我正在使用 axios-retry 库自动重试 3 次。

我正在使用的 url 会故意抛出 503。但是该请求没有被重试,而是被我的 catch 块捕获。

axiosRetry(axios, {
  retries: 3
});

let result;

const url = "https://httpstat.us/503";
const requestOptions = {
  url,
  method: "get",
  headers: {
  },
  data: {},
};


try {

  result = await axios(requestOptions);

} catch (err) {
  throw new Error("Failed to retry")
}

}
return result;
Run Code Online (Sandbox Code Playgroud)

node.js axios

22
推荐指数
5
解决办法
3万
查看次数

Android Studio AVD - 模拟器:进程以退出代码1完成

我在启动我的android模拟器时遇到了麻烦.似乎没有任何东西加载.

Pixel 2 API 26 Android 8.0 x86.

Linux Ubuntu 16.04 LTS 64位.

12/10/17 2:20 PM模拟器:libGL错误:无法加载驱动程序:vmwgfx_dri.so

2:20 PM模拟器:libGL错误:驱动程序指针丢失

2:20 PM模拟器:libGL错误:无法加载驱动程序:vmwgfx

2:20 PM模拟器:libGL错误:无法加载驱动程序:swrast_dri.so

2:20 PM模拟器:libGL错误:无法加载驱动程序:swrast

2:20 PM模拟器:X请求失败错误:BadValue(整数参数超出操作范围)

2:20 PM模拟器:失败请求的主要操作码:155(GLX)

2:20 PM模拟器:失败请求的次要操作码:24(X_GLXCreateNewContext)

2:20 PM仿真器:失败请求中的值:0x0

2:20 PM仿真器:失败请求的序列号:33

2:20 PM仿真器:输出流中的当前序列号:34

2:20 PM模拟器:进程以退出代码1结束

android android-virtual-device android-emulator android-studio

18
推荐指数
3
解决办法
7万
查看次数

Angular 5到6升级:Observable类型中不存在属性"map"

我已将我的角度应用程序从版本5升级到6,并从以下代码中获取此错误.

  const request = this.evidenceService.get().map((res) => res.data)
                .catch(error => Observable.of(null));
Run Code Online (Sandbox Code Playgroud)

"Observable"类型中不存在属性"map".

rxjs angular

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

如何创建包含多个字段的唯一索引,其中一个字段是外键

我正在尝试创建一个包含多个字段的索引,其中一个字段是另一个表的外键。但是我收到以下错误:

错误:索引“player_id_UNIQUE”包含实体中缺少的列(收入):player_id

鉴于player_id是我加入的外键,我该如何处理这个问题

import { Column, Entity, Index, JoinColumn, ManyToOne, PrimaryColumn } from "typeorm";
import { PersonPlayer } from "./PersonPlayer";
import { Team } from "./Team";

    @Entity()
    @Index("player_id_UNIQUE", ["player_id", "period", "year"], { unique: true })
    export class Earning {

        @PrimaryColumn({length: 36})
        id: string;

        @Column({nullable: true})
        year: number;

        @Column({type: 'decimal', nullable: true})
        amount: number;

        @Column({nullable: true, length: 45})
        period: string;

        @ManyToOne(() => Team, {nullable: true})
        @JoinColumn({name: 'team_id'})
        team: Team;


        @ManyToOne(() => PersonPlayer, {nullable: true})
        @JoinColumn({name: 'player_id'})
        player: PersonPlayer;

        @Column({nullable: true, length: …
Run Code Online (Sandbox Code Playgroud)

sql node.js typeorm

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

Angular + Material - 如何在表中添加自定义列(Mat-Table)

如何在mat表中添加自定义列.

例如,添加包含编辑图标的编辑列,其中包含包含当前元素的id的click事件.

<div class="example-container mat-elevation-z8">
  <mat-table #table [dataSource]="dataSource">

    <!--- Note that these columns can be defined in any order.
          The actual rendered columns are set as a property on the row definition" -->

    <!-- Position Column -->
    <ng-container matColumnDef="position">
      <mat-header-cell *matHeaderCellDef> No. </mat-header-cell>
      <mat-cell *matCellDef="let element"> {{element.position}} </mat-cell>
    </ng-container>

    <!-- Name Column -->
    <ng-container matColumnDef="name">
      <mat-header-cell *matHeaderCellDef> Name </mat-header-cell>
      <mat-cell *matCellDef="let element"> {{element.name}} </mat-cell>
    </ng-container>

    <!-- Weight Column -->
    <ng-container matColumnDef="weight">
      <mat-header-cell *matHeaderCellDef> Weight </mat-header-cell>
      <mat-cell *matCellDef="let element"> {{element.weight}} </mat-cell> …
Run Code Online (Sandbox Code Playgroud)

angular-material angular

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

角度升级从5到6:资产路径必须从项目源根开始

我将现有的应用程序从Angular 5升级到6.

运行后ng serve我得到以下错误:

node_modules/font-awesome/fonts资源路径必须以项目源根目录开头.错误:node_modules/font-awesome/fonts资产路径必须以项目源根目录开头.at assetPatterns.map.assetPattern(/home/kay/Documents/<>/<>/node_modules/@angular-devkit/build-angular/src/utils/normalize-asset-patterns.js:37:23)

如下所示,我有一个资产数组,从节点模块包中提取字体.这在Angular 5中不是问题.

angular.json

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "demo": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist",
            "index": "src/index.html",
            "main": "src/main.ts",
            "tsConfig": "src/tsconfig.app.json",
            "polyfills": "src/polyfills.ts",
            "assets": [
              "src/assets",
              "src/favicon.ico",
              "../node_modules/font-awesome/fonts"
            ],
            "styles": [
              "src/styles.scss",
              "src/theme.scss",
              "node_modules/font-awesome/css/font-awesome.min.css"
            ],
            "scripts": [
              "node_modules/hammerjs/hammer.min.js",
              "node_modules/auth0-js/build/auth0.min.js",
              "node_modules/moment/min/moment.min.js",
              "node_modules/ua-parser-js/dist/ua-parser.min.js",
              "node_modules/d3/dist/d3.min.js",
              "node_modules/wordcloud/src/wordcloud2.js",
              "node_modules/chart.js/dist/Chart.bundle.min.js",
              "node_modules/progressbar.js/dist/progressbar.min.js"
            ]
          },
          "configurations": {
            "production": {
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false, …
Run Code Online (Sandbox Code Playgroud)

font-awesome angular

14
推荐指数
2
解决办法
9616
查看次数

如何根据状态码重试异步 aiohttp 请求

我正在使用 api,有时它会给出一些奇怪的状态代码,只需重试相同的请求就可以修复这些代码。我正在使用 aiohttp 异步地向这个 api 发出请求

我也在使用退避库来重试请求,但是似乎仍然没有重试 401 请求。

   @backoff.on_exception(backoff.expo, aiohttp.ClientError, max_tries=11, max_time=60)
    async def get_user_timeline(self, session, user_id, count, max_id, trim_user, include_rts, tweet_mode):

        params = {
            'user_id': user_id,
            'trim_user': trim_user,
            'include_rts': include_rts,
            'tweet_mode': tweet_mode,
            'count': count
        }


        if (max_id and max_id != -1):
            params.update({'max_id': max_id})

        headers = {
            'Authorization': 'Bearer {}'.format(self.access_token)    
        }

        users_lookup_url = "/1.1/statuses/user_timeline.json"

        url = self.base_url + users_lookup_url

        async with session.get(url, params=params, headers=headers) as response:
            result = await response.json()
            response = {
                'result': result,
                'status': response.status,
                'headers': response.headers …
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-asyncio aiohttp

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

如何使用 circe 将密封的 trait case 对象转换为字符串

我正在使用 Scala 和 Circe。我有以下密封特征。

  sealed trait Mode
  case object Authentication extends Mode
  case object Ocr extends Mode
Run Code Online (Sandbox Code Playgroud)

调用此 case 对象时的输出SessionModel.Authentication如下:

"Authentication":{}
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为字符串以便输出 "authentication"

scala circe

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