Я получаю « undefined » (моя переменная test: «TESTTTT»; объявлена в коде выше) в консоли, когда я перекидываю пешку из одной позиции в другую. на шахматной доске при вызове OnDrop () (см. третий параметр this.test). В основном мне нужно значение здесь, в этой функции onDrop (source, target) {console.log ("DROP call", source, target, this.test)} . Я использую https://chessboardjs.com/index.html эту шахматную доску. js библиотека в angular8.
Ошибка в моем журнале консоли :: DROP call d7 e4 undefined
Я ожидаю
TESTTTT
напечатать в консоли.
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { CourseService } from '../../../course.service';
import { $ } from 'protractor';
declare var ChessBoard: any;
@Component({
selector: 'app-exercise',
templateUrl: './exercise.component.html',
styleUrls: ['./exercise.component.css']
})
export class ExerciseComponent implements OnInit {
board: any;
chapter_id: any;
chapter_name: any;
exercises: any;
test:"TESTTTT";
current_exercise: any = {question:""};
constructor(private route: ActivatedRoute, private router: Router, private courseService: CourseService) { }
ngOnInit(): void {
this.route.queryParams.subscribe(params => {
this.chapter_id = params['chapter_id'];
this.chapter_name = params['chapter_name']
});
this.courseService.getChapterExercise(this.chapter_id)
.subscribe(data => {
console.log("exercise data", data);
this.exercises = data;
this.exercises = this.exercises.data;
this.current_exercise = this.exercises[0];
console.log("ererere", this.exercises[0].position[0]);
this.board = ChessBoard('board', { position: this.exercises[0].position[0],moveSpeed:'slow', draggable: true,
onDragStart:this.onDragStart.bind(this),onDrop:this.onDrop.bind(this),
onMoveEnd:this.onMoveEnd.bind(this),
showErrors:console});
console.log("fen",this.board.fen());
setTimeout(()=>{
this.board.position(this.exercises[0].position[1]);
},3000)
},
err => { console.log("Error", err); })
}
onDragStart(position){
console.log("dragstart",position);
}
onDrop(source,target){
console.log("DROP call",source,target,this.test)
}
onMoveEnd(start,stop){
console.log("start",start);
console.log("stop",stop);
}
}