小编hin*_*991的帖子

从 Angular 中的自定义验证器访问服务

我正在尝试访问我的服务以检查验证器,但我得到的只是充满错误的控制台我确定我只是语法错误 =/

验证器:

import { DataService } from './services/data.service';
import { AbstractControl, FormGroup } from '@angular/forms';



export function titleValidator(control: AbstractControl,dataService:DataService) {

    console.log(dataService.moviesArray) -->> How can I access this service?
    if (control && (control.value !== null || control.value !== undefined)) {


        if (control.value=="test") {
            return {
                isError: true
            };
        }
    }

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

成分:

this.movieForm = this.fb.group({
      title: ['', [Validators.required,titleValidator]],
      ...
    });
  }
Run Code Online (Sandbox Code Playgroud)

如果有人有另一种解决方案来在组件本身中进行自定义验证,我需要任何帮助..谢谢!

更新:错误:

AddMovieComponent_Host.ngfactory.js? [sm]:1 ERROR TypeError: Cannot read property 'moviesArray' of undefined
    at titleValidator (validator.ts:8)
    at forms.js:602 …
Run Code Online (Sandbox Code Playgroud)

javascript validation typescript angular

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

字符串对象到数字 Typescript

可以说,我有一个像“150 test”这样的字符串。如何将该字符串转换为值为 150 的数字?

谢谢

javascript typescript

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

将文本与 Snackbar 内的中心对齐(角度材质)

嘿,如何将 SnackBar 内的文本对齐到中心?

这是我的代码,它不起作用:

import { Injectable } from '@angular/core';
import { MatSnackBar, MatSnackBarConfig } from '@angular/material';

@Injectable({
  providedIn: 'root'
})
export class MaterialService {

  constructor(public snackBar: MatSnackBar) { }

openSnackBar(message:string){

let config = new MatSnackBarConfig();
config.panelClass = 'text-align:center';

  this.snackBar.open(message);
}

}
Run Code Online (Sandbox Code Playgroud)

感谢您 :)

css angular-material angular

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

如何将文件缓冲区转换为 <img> 标签 src?

我正在开发一个应用程序,使用 Node.js 作为后端,并作为我的前端进行反应。现在我创建了一个上传文件并将其作为缓冲区类型存储在 mongodb 中的路由。我的问题是,当我在 React 应用程序中收到这些数据时,如何使用这些数据将其转换为 html 图像标签中的源属性?当我查看 mongodb 指南针时,文件属性如下所示:(非常长的字符串)

在此输入图像描述 当我查看对象本身时,当我得到它作为响应时,它看起来像这样:(数字数组); 在此输入图像描述

我尝试使用

  <img
      src={`data:${props.images[0].mimetype};base64,${props.images[0].file.data}`}
    />
Run Code Online (Sandbox Code Playgroud)

但它没有用..

在此输入图像描述

如果有人能给出答案,真的很感激!

猫鼬模型:

   images: [
    {
    file: { type: Buffer },
     filename: { type: String },
    mimetype: { type: String }
   }
  ]
Run Code Online (Sandbox Code Playgroud)

节点.js

 var multer = require('multer');

 var upload = multer({
 limits: {
  fileSize: 1000000
}
});

 app.post('/upload', upload.single('file'), async (req, res) => {
 try {
 const file = {
  file: req.file.buffer,
  filename: req.file.originalname,
  mimetype: req.file.mimetype
};
// console.log(req.file.buffer.toString('base64'));
const product = new …
Run Code Online (Sandbox Code Playgroud)

buffer mongoose mongodb node.js reactjs

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

设置 Angular 验证的最短日期

大家好,我正在尝试在表单中设置最小日期值。我正在使用 Angular,由于某种原因它不起作用,我将发布我的代码:

成分:

minDate: Date;

  constructor(private auth: AuthService, private dataService: DataService, private fb: FormBuilder, private router: Router, private matService: MatService) {
    this.dataService.getCompanyCouponResult(this.dataService.CouponIdForEdit).subscribe(res => {
      this.coupon = res;
      this.minDate = this.coupon.startDate;
      console.log(this.minDate);
    })
Run Code Online (Sandbox Code Playgroud)

输出:

edit-coupon.component.ts:28 2014-02-13T22:00:00.000+0000
Run Code Online (Sandbox Code Playgroud)

html:

  New end date:</p>
    <input type="date" formControlName="couponEndDate" min="{{minDate}}" >
Run Code Online (Sandbox Code Playgroud)

现在我确实得到了日期,并且可以在控制台中看到它,但由于某种原因,这不适用于 couponEndDate 的“分钟”。有什么解决办法吗?

css validation date angular

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

以角度从字符串中删除特殊字符

假设我得到一个带有特殊字符的字符串,我想使用过滤器/管道来更改它。每个单词的第一个字母也应该大写。

例如"@!? test stri&!ng?"将成为"Test String".

那怎么办呢?

javascript pipe typescript angular

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

将分页对齐到底部中心

我试图将我的分页放在页面的底部中心。I',使用角材料垫分页器。

这是现在的结果:

1: 在此处输入图片说明

2: 在此处输入图片说明

正如你所看到的,分页器现在在我的垫子手风琴上方,它不会随着页面的流动而下降,它在左侧而不是中心。

这是我的代码:html:

<mat-spinner *ngIf="isLoading"></mat-spinner>
<mat-accordion multi="true" *ngIf="posts.length > 0 && !isLoading">
  <mat-expansion-panel *ngFor="let post of posts">
    <mat-expansion-panel-header>
      {{ post.title }}
    </mat-expansion-panel-header>
    <p>{{ post.content }}</p>
    <div class="post-image">
      <img [src]="post.imagePath" [alt]="post.title">
    </div>
    <mat-action-row>
      <a mat-button color="primary" (click)="onEdit(post.id)">EDIT</a>
      <button mat-button color="warn" (click)="onDelete(post.id)">DELETE</button>
    </mat-action-row>
  </mat-expansion-panel>
</mat-accordion>
<div class="mat-page">
  <mat-paginator [length]="totalPosts" [pageSize]="PostsPerPage" [pageSizeOptions]="pageSizeOptions" (page)="onChangePage($event)"
    *ngIf="posts.length > 0 "></mat-paginator>
</div>
<p class="info-text mat-body-1" *ngIf="posts.length <= 0 && !isLoading">No posts added yet!</p>
Run Code Online (Sandbox Code Playgroud)

css:

:host {
  display: block;
  margin-top: 1rem;
}

.info-text {
  text-align: …
Run Code Online (Sandbox Code Playgroud)

css pagination flexbox angular-material angular

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

使用 useState、React 时无效的 Hook 调用

我第一次遇到的问题很少。我正在尝试使用一个简单的 useState,但出于某种原因,我无法理解为什么 React 会向我抛出错误以及我试图做的任何事情都没有解决它。

在此处输入图片说明

那是错误的图像:错误描述:

错误:无效的挂钩调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一而发生的: 1. 你可能有不匹配的 React 版本和渲染器(例如 React DOM) 2. 你可能违反了 Hooks 规则 3. 你可能有多个 React 副本同一个应用

我的代码:(非常简单)

import React, {useState} from "react";

function Login() {
    const [user, setUser] = useState({});


  return <div> why error? </div>;
}
export default Login;
Run Code Online (Sandbox Code Playgroud)

尝试遵循他们的解决方案但没有成功...谢谢

编辑:这是我渲染组件的地方 -

import React from "react";
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
import Home from "./components/Home";
import Contact from "./components/Contact";
import Login from "./components/Login";
import Register from "./components/Register";
import NotFound from "./components/NotFound"; …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router react-hooks

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