const Styled = function(dom, styled, datas, isOnlyXid){ this.xid = isOnlyXid || getXid(); this.dom = dom; this.dom.classList.add(this.xid); this.styled = styled.replace(/\t|\n/g,""); this.datas = datas; this.styleElement = this.createStyle(); this.render(); } Styled.prototype = { // 生成唯一识别码 createStyle (){ const o = document.head.querySelector("."+this.xid); if( o ){ return o; } const style = document.createElement("style"); document.head.appendChild(style); style.classList.add(this.xid); return style; }, setDatas(opt) { this.datas = Object.assign(this.datas, opt); this.render(); }, render (){ // this.styleElement.innerHTML = eval(`()=>{ var {${Object.keys(this.datas)}} = this.datas, xid=${this.xid}; return {} }()`); this.styleElement.innerHTML = function(){ eval(`var {${Object.keys(this.datas)}} = this.datas, xid="${this.xid}"`); return eval("\`"+this.styled+"\`"); }.call(this); } }