나는 내 웹 사이트의 텍스트 영역에 Quilljs을 사용합니다. 표준 편집기는 이미지 업로드를 서버에 지원하지 않으므로 사용자 지정 처리기를 구현해야합니다. 문서에서 the following:이것은 퀼 에디터 툴바를 가리키고 있습니다
핸들러 기능 (그래서 툴바 인스턴스를 참조한다 이것을 사용) 도구에 결합 될 기록 및 대응 포맷이 비활성 인 경우 입력 값 속성을 전달하고, 거짓되고 그렇지 않으면.
이것은 실제로 나를위한 문제이며 깨끗하고 "올바른"방식으로 문제를 해결하는 방법을 모릅니다. 난 각도 응용 프로그램을 구축하고 이미지 업로드를위한 사용자 지정 처리기를 작성했습니다. 이 사용자 정의 이미지 처리기는 각도 서비스를 사용하여 이미지를 서버에 업로드해야합니다. 데이터 서비스는 앱과 내 구성 요소에 전역으로 제공되며 this.dataService
으로 액세스 할 수 있습니다. 그러나 도구 모음에서 이미지 업로드 아이콘을 클릭하면 this
이 도구 모음에 바인딩되므로 더 이상 내 데이터 서비스에 액세스 할 수 없습니다. 도구 모음과의 경계를 피할 수 있습니까?
명시 적으로 예를 들어
this.editor = new Quill('#editor', {
modules: { toolbar: "#toolbar"},
placeholder: 'Some Placeholder',
theme: 'snow'
});
지금 내가
this.editor.getModule("toolbar").addHandler("image", imageHandler);
로 이미지 아이콘에 사용자 정의 핸들러를 추가하고 내 핸들러 함수 :
imageHandler(event) {
this.dataService.addImage(event.file);
}
다음 코드와 퀼 편집기를 생성했다고 가정
은 이미 구현 및 테스트 한 dataService를 사용합니다. 그러나 이 도구 모음에 바인딩되어 있기 때문에 this.dataService
이 존재하지 않습니다. 구성 요소 생성자를 사용하여 서비스를 초기화했습니다.
constructor(private dataService: DataService) {
}
내가 생성자에서 this.dataService
를 호출 는, 다음은 발견과 경계는 괜찮지 만, 난 서버에 파일을 보내 내 이미지 핸들러 함수에서를 호출해야 할 수 있습니다.
안부, 스벤