angular - 如何使用 TinyMce 触发 Angular 组件中的功能?
问题描述
目前我正试图让 TinyMce 的编辑器在其按钮触发“onAction”时触发本地函数,但它不接受任何带有“this.”的变量。
onAction: function () {
alert('Button clicked!');
if (this.fileUpload) {
this.fileUpload.nativeElement.click();
}
// Cannot use any function or variable with 'this.'
}
虽然这不是触发,但这是触发:
onAction: this.postMessage()
但是由于某种原因,这将在每次组件初始化(而不是单击)时触发。onAction 与一个按钮绑定,该按钮应该仅在单击时触发,但它不能以这种方式工作。
解决方案
这是因为您正在使用function
来声明您的函数。范围现在在该函数内。如果您使用箭头函数,它将起作用。
所以它会是:
onAction: () => {
alert('Button clicked!');
if (this.fileUpload) {
this.fileUpload.nativeElement.click();
}
}
请注意,您还必须更改创建按钮的功能。现在你可能从 TinyMCE 文档中得到类似的东西:
setup: function (editor) {
您还想将其更改为箭头函数:
setup: (editor) => {
推荐阅读
- .htaccess - URL REWRITING : 将链接重定向到新的
- laravel - 如何使用 Mysql 将 SSO 和 Formio 表单集成到 Laravel 网站?
- r -
如何在R中将球体绘制为隐藏后视图的线框? - html - 图像不在 SVG 弧 (HTML) 中居中
- laravel-5.7 - 为什么我的中间件不起作用,我尝试在中间件中放入一些参数但它不起作用
- css - 我可以混合/混合来自不同 css 类的两种背景颜色吗
- ruby - 如何在散列中对散列进行排序?
- css - 菜单打开/关闭的过渡
- visual-studio-code - VSCode 正则表达式搜索无法匹配 CR (\r) 字符
- selenium - Zalenium 推出 chrome 浏览器,但未启动测试