我正在尝试访问我的服务以检查验证器,但我得到的只是充满错误的控制台我确定我只是语法错误 =/
验证器:
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) 可以说,我有一个像“150 test”这样的字符串。如何将该字符串转换为值为 150 的数字?
谢谢
嘿,如何将 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)
感谢您 :)
我正在开发一个应用程序,使用 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) 大家好,我正在尝试在表单中设置最小日期值。我正在使用 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 的“分钟”。有什么解决办法吗?
假设我得到一个带有特殊字符的字符串,我想使用过滤器/管道来更改它。每个单词的第一个字母也应该大写。
例如"@!? test stri&!ng?"将成为"Test String".
那怎么办呢?
我试图将我的分页放在页面的底部中心。I',使用角材料垫分页器。
这是现在的结果:
正如你所看到的,分页器现在在我的垫子手风琴上方,它不会随着页面的流动而下降,它在左侧而不是中心。
这是我的代码: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) 我第一次遇到的问题很少。我正在尝试使用一个简单的 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)angular ×5
javascript ×4
css ×3
typescript ×3
reactjs ×2
validation ×2
buffer ×1
date ×1
flexbox ×1
mongodb ×1
mongoose ×1
node.js ×1
pagination ×1
pipe ×1
react-hooks ×1
react-router ×1