我尝试使用 Web 组件(带有验证和服务器通信)创建我自己的自定义 DOM 元素。我正在关注 MDN 上的教程:https ://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements
attributeChangedCallback(name, oldValue, newValue) {
console.log(newValue);
}
我能够接收属性的变化。但是,如果我有一个文本框,其中的值会发生变化。如何将文本框的值绑定到属性?这甚至是一个好方法吗?
这是我的代码:
'use strict';
class PopUpInfo extends HTMLElement {
static get observedAttributes() {
return ['value'];
}
constructor() {
// Always call super first in constructor
super();
// write element functionality in here
var shadow = this.attachShadow({mode: 'closed'});
console.log("Created");
let tbName = document.createElement("input");
shadow.appendChild(tbName);
}
attributeChangedCallback(name, oldValue, newValue) {
console.log(newValue);
}
}
customElements.define('popup-info', PopUpInfo);
稍后,我想在“PopUpInfo”中添加多个 html 控件。该名称稍后将类似于“Controlunit”。