blob: ee194a2bc84f42b602636c5ea1c4aef83948de06 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
---
title: Element.slot
slug: Web/API/Element/slot
tags:
- API
- DOM
- Element
- Property
- Reference
- shadow dom
translation_of: Web/API/Element/slot
---
<p>{{APIRef("Shadow DOM")}}</p>
<p>Свойство <strong><code>slot</code></strong> интерфейса {{domxref("Element")}} возвращает имя слота теневого DOM, в который вставлен элемент.</p>
<p>Слот slot это заполнитель внутри <a href="/en-US/docs/Web/Web_Components">веб компонента</a>, который пользователи могут заполнить собственной разметкой (смотри <a href="/en-US/docs/Web/Web_Components/Using_templates_and_slots">Использование шаблонов и слотов</a> для получения дополнительной информации).</p>
<h2 id="Синтаксис">Синтаксис</h2>
<pre class="syntaxbox">var <em>aString</em> = <em>element</em>.slot
<em>element</em>.slot = <em>aString</em>
</pre>
<h3 id="Значение">Значение</h3>
<p>{{domxref("DOMString")}}.</p>
<h2 id="Example">Примеры</h2>
<p>В нашем <a href="https://github.com/mdn/web-components-examples/tree/master/simple-template">примере простого шаблона</a> (<a href="https://mdn.github.io/web-components-examples/simple-template/">смотри в прямом эфире</a>), мы создаём тривиальный пример пользовательского элемента с именем <code><my-paragraph></code>, в котором прикрепляется теневой корень, а затем заполняется с использованием содержимого шаблона, содержащего слот с именем <code>my-text</code>.</p>
<p>Когда в документе используется <code><my-paragraph></code>, слот заполняется слот-элементом, включая его в элемент с атрибутом <code><a href="/en-US/docs/Web/HTML/Global_attributes/slot">slot</a></code> со значением <code>my-text</code>. Вот один из таких примеров:</p>
<pre class="brush: html"><my-paragraph>
<span slot="my-text">Let's have some different text!</span>
</my-paragraph></pre>
<p>В нашем JavaScript файле мы получаем ссылку {{htmlelement("span")}}, показанную выше, а затем регистрируем ссылку на имя соответствующего элемента <code><slot></code>.</p>
<pre class="brush: js">let slottedSpan = document.querySelector('my-paragraph span')
console.log(slottedSpan.slot); // logs <span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><span class="objectBox objectBox-string">'my-text'</span></span></span></span></pre>
<h2 id="Спецификации">Спецификации</h2>
{{Specifications}}
<h2 id="Поддержка_браузерами">Поддержка браузерами</h2>
<div>
<p>{{Compat}}</p>
</div>
|