我想在一种方法中使用isDate()
。 Visual Studio代码自动将import { isDate } from '@angular/common/src/i18n/format_date'
添加到了我的组件中。但是编译时出现错误:ERROR in . . . : error TS2305: Module '"C:/Users/John/my-project/node_modules/@angular/common/common"' has no exported member isDate'
当文件位于/node_modules/@angular/common/common
中时,为什么编译器会看着'@angular/common/src/i18n/format_date'
,如何使它在正确的位置显示?
import { Component, Input } from '@angular/core';
import { Member } from '../member';
import { isDate } from '@angular/common/src/i18n/format_date';
@Component({
selector: 'app-enroll-form',
templateUrl: './enroll-form.component.html',
styleUrls: ['./enroll-form.component.css']
})
export class EnrollFormComponent {
@Input() member: Member = new Member("");
constructor() {
}
memberKeys = Object.keys(this.member);
primType(s: string) {
if (typeof(s)==='string' || typeof(s)==='number' || isDate(s)) {
return true;
} else {
return false;
}
}
}
答案 0 :(得分:1)
日期实际上不是JavaScript中的数据类型。但是要知道某物是否是Date对象,可以使用instanceof针对Date进行测试。
尝试创建自己的函数并在primType函数中调用
export default class SignUp extends Vue {
email: string = '';
password: string = '';
async onSubmit(){
if ((this.$refs.form as any).validate()) {
const auth = await this.$auth.login(this.email, this.password)
}
}
}
甚至从代码中删除以下行,然后尝试一下。.
// Returns if value is a date object
isDate (value) {
return value instanceof Date;
}
答案 1 :(得分:0)
突然,我的IDE(Visual Studio代码)为我提供了“ util”中isDate的选项(我以前不相信该选项可用)。当我import { isDate } from 'util';
时,现在一切正常。