我正在寻找一种不在lit-html/lit-element中重用DOM元素的方法(是的,我知道,我正在关闭一个主要特性)。特定场景是将现有系统移动到lit元素/lit html,该元素在某些点嵌入trumbowyg所见即所得编辑器。此编辑器将自身附加到
我觉得
lit html
中的live()
指令对此应该很有用,但它可以防止基于给定属性的重用,并且我希望防止重用,即使所有属性都相同。谢谢
您写道,您将外部库直接附加到由lit-html管理的元素。听起来你基本上是这样做的:
render(html`<section><div id=target></div></section>`, document.body)
external_lib.render_to(document.querySelector("#target"))
如果您是这样做的,请尝试创建自己的div,让外部库呈现到该div,最后将该div附加到lit html:
let target_div = document.createElement('div')
render(html`<section>${div}</section>`, document.body)
external_lib.render_to(target_div)
我在富文本编辑器和可内容的代码中也遇到过类似的问题——由于模板如何更新DOM,你不希望它成为模板的一部分。
为此,您可以使用non-Lit DOM添加一个新元素,然后将其添加到Lit确实管理的DOM中:
class TrumbowygEditor
extends HTMLElement {
constructor() {
super();
const shadow = this.attachShadow({mode: 'open'});
const div = document.createElement('div');
shadow.appendChild(div);
const style = document.createElement('style');
// Add CSS required
shadow.appendChild(style);
$(div).trumbowyg(); //init
}
}
customElements.define('trumbowyg-editor', TrumbowygEditor);
由于这是在自定义元素的阴影中运行的,因此DOM不会触及它,您可以执行以下操作:
html`
<div>Lit managed DOM</div>
<trumbowyg-editor></trumbowyg-editor>`;
但是,您必须在TrumbowygEditor
上实现属性和事件,才能添加要传递给嵌套jQuery组件或从中获取的所有内容。
如果您可以获得jQuery/Trumbow yg的模块版本(或者您的构建工具支持它),或者您可以添加
虽然更混乱和更多的工作,我推荐后者,因为两个组件都很大,并且(由于jQuery是建立在15年前的假设之上的)需要同步加载(
lit a little preprocessor for literate programming Quick Start By default, extracts code from Markdown files: # strip out Markdown content from literate programming# files in the current directory, le
lit-jdbc 是一款简单易用的轻量级 ORM 框架。 <dependency> <groupId>com.github.liulus</groupId> <artifactId>lit-jdbc</artifactId> <version>2.0</version> </dependency> 使用 API 的方式构建 SQL , 简单
Lit-LLaMA 是一个基于 nanoGPT 的 LLaMA 语言模型的实现,支持量化、LoRA 微调、预训练。 设计原则 简单:单一文件实现,没有样板代码 正确:在数值上等同于原始模型 优化:在消费者硬件上或大规模运行 开源:无附加条件 设置 克隆仓库 git clone https://github.com/Lightning-AI/lit-llamacd lit-llama 安装依赖项 p
附带以下代码段: 这段代码有条件地呈现两个图像中的一个。某些用户操作会导致实际显示的图像被切换。 我看到的是:当从说,切换到时,作为的一部分加载的图像将立即以不同的尺寸显示。但是,在图像加载到新源代码的过程中,仍然会显示带有src的图像。 这可能是由于Vue对两个模板使用了相同的img-tag。我如何防止Vue这样做,而是使用单独的img标签?
我正在开发一个web应用程序,它显示了一个巨大的卡片网格,其高度本质上是可变的。 为了美观起见,我们使用jQuery的来均衡每行卡片的高度。 它的性能没有得到很好的扩展,所以今天我一直在迁移到一个基于flex box的解决方案,它的速度要快得多。 然而,我失去了一个行为——如果卡头的内容不合适,应该用省略号将其截断。 目标: 3列 列宽度变化以填充父 行间距不变 高度在一排内相等 如何安排容器大小
我想要一个数组列表,并限制元素删除。我该怎么做?