Angular 7个弹窗加载
Angular 7 popover loading
我正在使用 fabricjs 加载图像和文本内容。
我在 canvas 上用 fabricjs 有很多文本内容。
现在单击 fabricjs 的文本内容我想打开 Angular 7 popover 可能是 (ngbPopover)。
如何在点击文本内容时打开它,就像我们打开对话框一样?
因为我无法在 fabricjs 的任何地方注入 popover 配置。
我有类似的功能要做,但我找到了另一种快捷方式。
- 单击文本时,对象通过使用读取对象
this.canvas.on('object:selected', (e) => {this.objectSelected(e)});
然后首先确保 textbox/popover 被隐藏
单击对象时通过以下方式读取所选对象:
var absCoords = this.canvas.getActiveObject();
当您阅读活动对象时,有些事情您需要注意
- 取消隐藏 textbox/popover
- 获取
absCoords.left
和absCoords.top
并将其设置到文本框。
这是帮助解决问题的变通办法之一。
其实我想说的是这样的,我在这里找到了解决方案。
const showImageTools = (e) => {
const content = '<div id="imageDialog" class="container">\n' +
' <mat-form-field class="example-full-width">\n' +
' <input value="' + pngText.texts + '" id="textInputField" style="width: 400px;\n' +
' box-shadow: 2px 4px 5px 3px #bdc3bdee;height: 50px;\n' +
' padding: 5px;\n' +
' border-radius: 5px;" matInput placeholder="Add your texts"/>\n' +
' </mat-form-field>\n' +
' </div>';
$("body").append(content);
moveImageTools();
};
this.canvas.add(pngText).renderAll();
pngText.on('mousedown', event => {
showImageTools(event);
});
我正在使用 fabricjs 加载图像和文本内容。
我在 canvas 上用 fabricjs 有很多文本内容。
现在单击 fabricjs 的文本内容我想打开 Angular 7 popover 可能是 (ngbPopover)。
如何在点击文本内容时打开它,就像我们打开对话框一样?
因为我无法在 fabricjs 的任何地方注入 popover 配置。
我有类似的功能要做,但我找到了另一种快捷方式。
- 单击文本时,对象通过使用读取对象
this.canvas.on('object:selected', (e) => {this.objectSelected(e)});
然后首先确保 textbox/popover 被隐藏
单击对象时通过以下方式读取所选对象:
var absCoords = this.canvas.getActiveObject();
当您阅读活动对象时,有些事情您需要注意
- 取消隐藏 textbox/popover
- 获取
absCoords.left
和absCoords.top
并将其设置到文本框。
这是帮助解决问题的变通办法之一。
其实我想说的是这样的,我在这里找到了解决方案。
const showImageTools = (e) => {
const content = '<div id="imageDialog" class="container">\n' +
' <mat-form-field class="example-full-width">\n' +
' <input value="' + pngText.texts + '" id="textInputField" style="width: 400px;\n' +
' box-shadow: 2px 4px 5px 3px #bdc3bdee;height: 50px;\n' +
' padding: 5px;\n' +
' border-radius: 5px;" matInput placeholder="Add your texts"/>\n' +
' </mat-form-field>\n' +
' </div>';
$("body").append(content);
moveImageTools();
};
this.canvas.add(pngText).renderAll();
pngText.on('mousedown', event => {
showImageTools(event);
});