我有一个剪贴板服务,其中有一个
我的剪贴板服务:
我的组件:
copy()
和 paste()
方法,每当我执行 Ctrl+C
和 Ctrl+V
时就会被调用。这些方法是在组件中使用 HostListeners 添加的文档级键盘监听器。现在,每当用户复制一些文本并执行 Ctrl+V
时,我的 paste()
方法就会被触发,这不应该发生。我该如何防止这种情况发生?有人能指点我吗?我的剪贴板服务:
export class ClipService {
private srcFolder;
private srcItem;
constructor() {
}
copy(srcFolder, srcItem) {
this.srcFolder = srcFolder;
this.srcItem = srcItem;
}
paste(destFolder) {
}
}
我的组件:
@Component({
selector: 'new-comp',
templateUrl: 'new-comp.html'
})
export class NewComp {
constructor(private clipboard: ClipService){
}
private keydown(event: KeyboardEvent) {
if (event.defaultPrevented) return;
let folder = this.folder.json;
let item = folder.activeItem;
if (event.ctrlKey && event.keyCode === 67) {
this.clipboard.copy(folder, item);
} else if (event.ctrlKey && event.keyCode === 86) {
this.clipboard.paste(this.finder.activeFolder);
}
}
}
谢谢。