This commit is contained in:
2024-05-15 23:16:30 +08:00
parent c5ee9687c9
commit fcd9b76ace

View File

@ -75,3 +75,18 @@ document.body.appendChild(demo)
然而 dom 元素的 textContent 并不是一个函数方法而是一个变量值, 自然无法使用链式调用 `demo.textContent('hello world!')`
为了减少代码量也为了避免破坏dom基本结构, 所有额外提供的方法都使用缩写,
像是这样 `demo.text('hello world!')`
这样做的期望自然是将样式便捷地与数据混合处理, 像这样
```javascript
import { div, span } from '@laniakeasupercluster/widgets'
const data = ['hello', 'world', 'and', 'you']
document.body.appendChild(div.w(20).h(20).children([
...data.filter(item => item.length >= 3).map(item => span.text(item))
]))
```
虽然这与 pug 中 `div.w-8.h-12` 赋予元素 class 名的概念基本相同, 但实际并不会给元素赋予 class 名, 它只是一个方法去设置元素样式, 因为在 js 的实现中过多引入 css 概念是没有意义的(至少目前我这么认为)
CSS 的便捷性还有两点, 一是伪元素和伪类(:hover ::after), 一是选择器(div.text#ctx.mix > .cc { width: 12px }), 在js中目前没有很好的实现方法, 此事只能再议