问题标签 [hyperhtml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
136 浏览

hyperhtml - hyperHTML 似乎无法调用(附加?)onload 事件

我正在尝试在使用 hyperHTML 时有条件地动态加载其他 JavaScript。我已将失败范围缩小到onload事件。

这是一个最小、完整和可验证的示例的尝试:

如您所见notie.alert,即使script正确插入,也永远不会调用它。

这个过程使用带有addEventListener('load',and的 vanilla JS 可以正常工作appendChild(

0 投票
1 回答
845 浏览

javascript - hyperHTML 线与字符串

我开始使用 hyperHTML 有一个问题

从...开始

使用电线

使用字符串

为什么电线更好?

wire没有“id”(obj,string)时,它将返回一个没有引用的元素

这是文档,但他们没有说明为什么应该在字符串上使用电线。

谢谢你的帮助


编辑:

只是想..定义会更好用吗?就像是:

但是现在你会填满每个小元素的名称空间:(

0 投票
1 回答
497 浏览

javascript - HyperHTML - 是否可以在不重新渲染整个组件 DOM 的情况下更新组件状态?

我有以下 hyperHTML 组件,一切都按预期工作,唯一的问题是整个组件 DOM 在每次this.setState()调用时都会重新呈现。

我的问题:

有没有办法在不重新渲染整个组件 DOM 的情况下更新 DOM 上的通知字符串?

0 投票
1 回答
116 浏览

javascript - 简单的 HyperHtmlElement 示例什么也不显示

我看不到 FireFox 57 的任何输出,同时期待 'HyperHtmlElement' ...

... 我究竟做错了什么 .. ?

谢谢。

0 投票
1 回答
123 浏览

hyperhtml - 使用 hyperHTML 在多个地方连接全局数据的最佳方式是什么?

我正在开发一个重用大量常量的应用程序。我知道我可以使用连线 ID 在多个地方使用相同的数据,但我不确定是否应该在每次要使用该数据时创建一个新的全局唯一 ID。

这是我正在使用的简化示例:

我知道除非我指定一个电线 ID,否则options 只会出现在一个地方。我可以:${this.name}用作电汇 ID,但我必须弄清楚如果有两个同名的人该怎么办,以及如果我想要一个表格来表示“你最喜欢的颜色是什么?” 另一个是“你的衬衫是什么颜色的?”,我必须为此制作另一个唯一的 ID。

有没有办法以某种方式确定线路 ID 的范围,还是我必须制作全球唯一的?

0 投票
1 回答
1263 浏览

javascript - 内容更改后如何将 hyperHTML 重新渲染到同一元素

我正在尝试支持与React.Children相同类型的东西

我的代码看起来像

所以API看起来像

我正在使用MutationObserver重新呈现内容更改

但是如果内容改变了。hyperHTML 说它渲染到正确的元素.. 但元素保持其 innerHtml(无更新)

我可以看到已删除,然后设置了内容,但再次<!--_hyper: -2001947635;-->设置渲染hyperHTML.bind无济于事

任何想法都会很棒!谢谢


更新

解决上述问题的方法是调用,hyperHTML.bind``然后使用 hyperHTML 进行正常渲染即可

上下文- 我正在使用 hyperHTML 创建自定义元素库(超元素

我的用例:我在一个混合技术项目中工作(有些人使用 jQuery)

旁注,关于为什么。我想支持部分模板之类的东西

部分模板示例:

输出:

这是在您控制的元素中设置自定义内容的一种用途

目前我通过 3 方工作/重新渲染设置内容

https://jsfiddle.net/k25e6ufv/16/


我现在的问题是:它正在渲染另一个自定义元素并将传递内容传递给子元素

看起来 hyperHTML 正在将子元素的内容设置在元素的前面,并在不设置内容的情况下创建元素

向下滚动到源代码的底部以查看实现!

https://jsfiddle.net/k25e6ufv/14/

Rending crazy-cats :

电流输出:

期望的输出:

0 投票
0 回答
77 浏览

hyperhtml - 组件列表(两次接线)

如果我正在渲染返回 hyperhtml 的函数列表,我最终会连线两次,因为在某处省略它是行不通的,并且 bind 只会在父级上有意义,然后需要考虑弱引用,因此无论哪种方式都很尴尬。

例子

这里 recur 将连线 recur,然后再次返回连线结果。因此,如果使用电线两次缠绕。

0 投票
2 回答
327 浏览

mobx - Mobx 观察者模式支持

Mobx 提供仅与 react 兼容的观察者包,它使存储知道正在使用数据,并在更改时重新运行组件。你如何复制 mobx 观察者的支持?

0 投票
1 回答
247 浏览

javascript - 通过 HyperHTML 使用外部库

我们正在寻求将 HyperHTML 集成到聊天应用程序中。

目前,我们使用 moment.js 和 timeago 作为上次聊天发布的人类可读时间戳。聊天列表中的最后一个消息预览也经常更新,但不如时间戳那么频繁。所有这些组件都是单独的,但也每个组件都包装在一个 li 中。

因此,将 hyperHTML 与将时间标签附加到 DOM 并从 DOM 渲染的外部库(如 TimeAgo)一起使用,我们想知道最佳实践吗?如何在 hyperHTML 模板文字中使用 timeago() 函数?

0 投票
3 回答
3952 浏览

hyperhtml - 有没有一种方法/解决方法可以在不使用 Shadow DOM 的情况下在 hyperHTML 中使用插槽原理?

我喜欢 hyperHtml 和 lit-html 的简单性,它们使用“标记模板文字”来仅更新模板的“可变部分”。简单的 javascript,不需要虚拟 DOM 代码和推荐的不可变状态。

我想尝试在模板中支持原则的情况下尽可能简单地使用带有 hyperHtml 的自定义元素<slot/>,但没有 Shadow DOM。如果我理解正确,插槽只能使用 Shadow DOM?

有没有一种方法或解决方法可以<slot/>在不使用 Shadow DOM 的情况下在 hyperHTML 中使用该原理?

虽然有好处,但我不喜欢使用 Shadow DOM 的一些原因:

  • 我想看看我是否可以转换我现有的 SPA:所有必需的 CSS 样式现在都存在于 SASS 文件中,并被编译为 1 个 CSS 文件。在 Shadow DOM 组件中使用全局 CSS并不容易,我不想解开 SASS(现在)
  • Shadow DOM 有一些性能成本
  • 我不希望大型 Shadow DOM polyfill 有插槽(webcomponents-lite.js:84KB - 未缩小)