토스트 용 자체 스타일 및 html로 내 애플리케이션에서 전역 토스트 서비스를 수행하려고합니다. 나는 ng2-toastr를 사용하고 있습니다. 예를 들어 난 관점에서 A 성분이 난이 버튼 :토스트 메시지 용 서비스에서 구성 요소를 초기화하는 방법
난 showSuccess 기능이 컨트롤러<button (click)="showSuccess()">Click</button>
:
import { Injectable } from '@angular/core';
import { ToastsManager } from 'ng2-toastr/ng2-toastr';
@Injectable()
export class ToastrService {
constructor(public toastr: ToastsManager) {}
showSucess() {
this.toastr.custom('<span style="color: #bd362f">This message should be in red with blank background. Click to dismiss.</span>',
'Custom Message', {dismiss: 'click'});
}
}
내 ToastrService에서
showSucess() {
this.toastrService.showSuccess({
enableHTML: true,
toastLife: 3000,
});
}
는 내 showSuccess 기능이
this.toastr.custom -이 함수에서 나는 내 자신의 토스트 템플릿을 설정합니다. 서비스에서이 템플리트를 제거하려고하므로이 템플리트로 구성 요소를 원합니다.
이 문자열을 HTML로 대체하려면 어떻게해야합니까? 이 문자열을 component의 innerHTML 또는 이와 비슷한 것으로 바꾸려고합니다. 내 질문의 맨 위에서 구성 요소의 토스트 옵션을 사용하여이 구성 요소의 공유를 원합니다.
AngularJs에서 파일에서 HTML을 가져 오기 위해 $ templateCache를 사용했지만 angular2에서 + 이와 같은 것을 찾을 수 없습니다.
예,이 함수에서는 문자열 만 사용할 수 있습니다. 어쩌면 Angular4에서 서비스에 대한 ElementRef와 같은 것이거나, 구성 요소에 액세스하거나, 서비스에서 구성 요소를 초기화 할 수 있습니까? –
아마도 DynamicComponentLoader : https://angular.io/guide/dynamic-component-loader와 함께 사용하는 이유는 무엇입니까? (너무 많은 개발을 '전용'으로 설정하면 구성에 저장 될 수있는 html 마크 업/메시지 파일) –