Я видел это много здесь и там, но я мог найти любое описание или документацию об этом!
<paper-input-decorator label="Your Name">
<input is="core-input">
</paper-input-decorator>
Я видел это много здесь и там, но я мог найти любое описание или документацию об этом!
<paper-input-decorator label="Your Name">
<input is="core-input">
</paper-input-decorator>
В 2017 году:
В HTML нет атрибута is
.
Это предлагаемое расширение, которое появляется в Спецификация пользовательских элементов (которая была разработана из спецификации Polymer, упомянутой ниже).
Это позволяет вам сказать, что существующий, стандартный элемент действительно является настраиваемым элементом.
<button is="fancy-button" disabled>Fancy button!</button>
..., что обеспечивает обратную совместимость. Если пользовательские элементы не поддерживаются браузером (спецификация по-прежнему черновик и очень ограниченная поддержка браузера) то он вернется к по умолчанию.
В 2014 году:
Это не HTML. Это атрибут expando для Полимерные пользовательские элементы.
Если вы использовали расширения для создания элемента Polymer, который происходит из существующего элемента DOM (что-то, кроме HTMLElement), используйте синтаксис
is
Это часть спецификации W3C для веб-компонентов. Пользовательские элементы.
Последний рабочий черновик: http://www.w3.org/TR/custom-elements/#type-extension-semantics
Последний редактор: http://w3c.github.io/webcomponents/spec/custom/#type-extension-example
Ключевое слово is
является частью спецификации W3C Draft для создания пользовательских элементов HTML с пользовательским поведением.
В частности, is
используется при расширении встроенного элемента типа <input>
, <button>
или <table>
. Например, у вас может быть элемент plastic-button
, который расширяет <button>
, чтобы обеспечить некоторую причудливую анимацию при нажатии.
Вы добавили бы кнопку на страницу следующим образом:
<button is="plastic-button">Click Me!</button>
Прежде чем вы это сделаете, вам нужно зарегистрировать plastic-button
как пользовательский элемент HTML, например:
customElements.define("plastic-button", PlasticButton, { extends: "button" });
Это ссылается на класс PlasticButton
Javascript, который выглядит примерно так:
class PlasticButton extends HTMLButtonElement {
constructor() {
super();
this.addEventListener("click", () => {
// Draw some fancy animation effects!
});
}
}
Было бы здорово, если бы вы могли сказать <plastic-button>Click Me!</plastic-button>
вместо <button is="plastic-button">Click Me!</button>
, но это создало бы HTMLElement без особого поведения.
Если вы НЕ расширяете встроенный элемент HTML, например <button>
и вместо этого создаете новый элемент, который расширяет общий HTMLElement, вы можете использовать синтаксис <plastic-button>
. Но вы не получите никакого поведения <button>
.
Это часть спецификации W3C для пользовательских элементов веб-компонентов: http://www.w3.org/TR/custom-elements/#type-extension-semantics
Это часть веб-компоненты для пользовательских элементов. Так что это HTML.
Рамки, такие как Vue.js, также поддерживают атрибут is
в соответствии со стандартом веб-компонентов.