0
私はHTMLエディタとしてtinyMceを持つangular2アプリを持っています。唯一の問題は、私は自分のREST APIを通してhtmlのURLを変換する必要があるということです。私はTinyMCEのから「urlconverter_callback」を使用しようとしましたが、私はこれへの参照を失うと動けなくなることを行うには:は、これを盗んだコールバックではなくなっています
ngAfterViewInit(): void {
console.log('tinymce');
tinymce.init({
selector: `[data-tinymce-uniqueid=${this.uniqueId}]`,
theme: "modern",
skin: 'light',
height: 768,
toolbar: 'undo redo | styleselect | bold italic | link image | code',
plugins: 'code',
schema: 'html5',
urlconverter_callback: this.urlConverter,
setup: ed => {
ed.on('init', ed2 => {
if (this.innerValue) ed2.target.setContent(this.innerValue.text);
this.init = true;
});
}
});
// I chose to send an update on blur, you may choose otherwise
tinymce.activeEditor.on('blur',() => this.updateValue());
}
urlConverter(url, node, on_save): string {
console.log("TinyDirective.urlConverter(%o, %o, %o)", url, node, on_save);
console.log("TinyDirective.urlConverter: this = %o", this);
console.log("TinyDirective.urlConverter: this.innerValue = %o", this.innerValue);
return this.innerValue.url_converter(url);
}
コンソールから私は、これはもはや私のディレクティブを指していること、見ることはできません。その結果、私はinnerValueプロパティにアクセスすることができません。
私のディレクティブの正しい参照を持つコールバックを作成するにはどうすればよいですか? tinymce.init
urlconverter_callback: this.urlConverter.bind(this)
またはコンストラクタ内内bind
を使用)
1:
これは本当に速かったです!どうもありがとう!私はtinymce.initの中でbindを使ってしまった。 –
あなたは大歓迎です! – yurzui