сообщение: «рабочие пространства не определены»
stack: «ReferenceError: рабочие пространства не определены» *
У меня есть функция с именем verifyIfHaveThisExactlyWorkspaceName
, которая возвращает true или false, если существует или не существует одно и то же имя строки из таблицы.
При вводе на вводе все работает. Я хочу использовать этот же метод в другой метод, передавая строку параметром. У меня проблемы с этим. В обоих случаях T использует значение, которое существует в моей таблице.
В этом случае у меня есть успех
Мой HTML-файл
<mat-form-field class="table-w-div-input">
<input matInput (keyup)="verifyIfHaveThisExactlyWorkspaceName($event.target.value)" placeholder="Qual assunto você deseja ver?">
</mat-form-field>
мой файл TS
public workspaces: MatTableDataSource<WorkspaceModel>;
public displayedColumns = [
'workspace',
'createdAt',
'createdBy',
'updatedAt',
'updatedBy',
'button',
];
public verifyIfHaveThisExactlyWorkspaceName(workspace: string): boolean {
debugger
if (!workspace || !this.workspaces) {
return false
}
workspace = workspace.trim();
this.workspaces.filter = workspace
this.workspaces.filterPredicate = (data: WorkspaceModel, workspace) => {
return data['name'] === workspace;
}
}
Но когда T делает это, это не работает. Моя форма не определена (имеет значение)
public workspaces: MatTableDataSource<WorkspaceModel>;
public displayedColumns = [
'workspace',
'createdAt',
'createdBy',
'updatedAt',
'updatedBy',
'button',
];
public executeOperation(content, spreadsheet?: NgForm) {
if (spreadsheet) {
this.createWorkspaceWithImport(spreadsheet)
}
else if (this.workspace) {
this.updateWorkspace()
}
else if (!spreadsheet && !this.workspace) {
if (this.verifyIfHaveThisExactlyWorkspaceName(this.workspaceForm.value.name)) {
this.activeModal = this.modalService.open(content, { centered: true, size: 'lg' });
}
}
}
public verifyIfHaveThisExactlyWorkspaceName(workspace: string): boolean {
debugger
if (!workspace || !this.workspaces) {
return false
}
workspace = workspace.trim();
this.workspaces.filter = workspace
this.workspaces.filterPredicate = (data: WorkspaceModel, workspace) => {
return data['name'] === workspace;
}
}
Моя рабочая областьМодель
import { User } from '../../user/user.actions';
export interface WorkspaceModel {
createdAt: Date;
createdBy: User | null;
db: boolean;
description: string;
language: string;
learning_opt_out: boolean;
name: string;
updatedAt: Date;
updatedBy: User | null;
watson: boolean;
_id: string;
activated: boolean;
master: string | null;
}
Я хочу использовать свою функцию в обоих случаях.