剪贴板 Clipboard

clipboard 的 API

Angular CDK clipboard API 参考文档

import {ClipboardModule} from '@angular/cdk/clipboard';

把文本复制到剪贴板的服务。

A service for copying text to the clipboard.

方法
beginCopy

准备稍后要复制的字符串。这对于大型字符串很有用,在同一个检测周期内它们需要很长的时间才能成功渲染并复制。

Prepares a string to be copied later. This is useful for large strings which take too long to successfully render and be copied in the same tick.

调用者必须调用 PendingCopy 型返回值上的 destroy 方法。

The caller must call destroy on the returned PendingCopy.

参数

Parameters

text

string

要复制的字符串。

The string to copy.

返回值

Returns

PendingCopy

挂起的复制操作。

the pending copy operation.

copy

把提供的文本复制到用户的剪贴板中。

Copies the provided text into the user's clipboard.

参数

Parameters

text

string

要复制的字符串。

The string to copy.

返回值

Returns

boolean

操作是否成功。

Whether the operation was successful.

为某个按钮提供行为,此按钮在被点击时会把内容复制到用户的剪贴板中。

Provides behavior for a button that when clicked copies content into user's clipboard.

选择器: [cdkCopyToClipboard]
属性
名称 描述
@Input('cdkCopyToClipboardAttempts')

attempts: number

尝试复制文本的次数是多少次。这对于文本较长的文本来说可能是必需的,因为浏览器需要时间来填充中转 textarea 元素并复制其内容。

How many times to attempt to copy the text. This may be necessary for longer text, because the browser needs time to fill an intermediate textarea element and copy the content.

@Input('cdkCopyToClipboard')

text: string

要复制的内容。

Content to be copied.

@Output('cdkCopyToClipboardCopied')

copied: EventEmitter<boolean>

某些文本被复制到剪贴板后发出通知。发出的值表示复制是否成功。

Emits when some text is copied to the clipboard. The emitted value indicates whether copying was successful.

方法
copy

把当前文本复制到剪贴板。

Copies the current text to the clipboard.

参数

Parameters

attempts

number = this.attempts

一个挂起的复制到剪贴板操作。

A pending copy-to-clipboard operation.

把文本复制到剪贴板的实现会修改 DOM 并强制重新布局。如果字符串很大,这次重新布局可能需要很长时间,这会导致 execCommand('copy') 在用户点击后很久才会发生。这会导致浏览器拒绝复制。该对象可以通过提供一个稍后调用的复制函数,来允许在一个独立的周期中内进行重新布局。

The implementation of copying text to the clipboard modifies the DOM and forces a relayout. This relayout can take too long if the string is large, causing the execCommand('copy') to happen too long after the user clicked. This results in the browser refusing to copy. This object lets the relayout happen in a separate tick from copying by providing a copy function that can be called later.

无论是否调用 copy ,都必须在不再使用时调用其 Destroy。

Destroy must be called when no longer in use, regardless of whether copy is called.

方法
copy

完成复制文本的操作。

Finishes copying the text.

返回值

Returns

boolean
destroy

清理用于执行复制操作的 DOM 更改。

Cleans up DOM changes used to perform the copy operation.

可用于配置 CdkCopyToClipboard 默认选项的对象。

Object that can be used to configure the default options for CdkCopyToClipboard.

属性
名称 描述

attempts: number

复制文本到剪贴板时的默认尝试次数。

Default number of attempts to make when copying text to the clipboard.

这个注入令牌可以用来为 CdkCopyToClipboard 提供默认选项。

Injection token that can be used to provide the default options to CdkCopyToClipboard.

const CKD_COPY_TO_CLIPBOARD_CONFIG: InjectionToken<CdkCopyToClipboardConfig>;