标签: lit-element

单击时如何清除数据列表输入?

我在 Lit-Element Web 组件中有这个数据列表:

<input list="cars" name="car" placeholder = "Type car name">

<datalist id="cars">
  <option value="Jeep">
  <option value="Lamborghini">
  <option value="Ferrari">
  <option value="Fiat 500">
  <option value="Gran Torino">
</datalist>
Run Code Online (Sandbox Code Playgroud)

如果我从列表中选择这些选项之一,然后再次单击输入字段,我将看不到选项列表,而只能看到选定的选项。如果我想查看所有选项,我必须用键盘手动删除输入字段上写的选项。

即使选择了这些选项之一,是否存在显示所有选项的方法?

或者更好的是,是否存在一种清除焦点或单击时输入字段的方法?

没有 JQuery。

javascript onclick onfocus html-datalist lit-element

5
推荐指数
1
解决办法
1963
查看次数

Polymer LitElement &amp; Angular - 从未调用渲染,不显示内容

我想在我的 Angular 应用程序中使用 Polymers LitElement。

为此,我在应用程序test.jsassets文件夹中创建了一个示例组件 ( ) ,并将其导入到index.html.

测试.js:

// Import the LitElement base class and html helper function
import { LitElement, html } from '../../../node_modules/lit-element/lit-element';

// Extend the LitElement base class
class Test extends LitElement {

  render(){
    return html`
      <h1>Test works!</h1>
    `;
  }
}
// Register the new element with the browser.
customElements.define('ti8m-test', Test);
Run Code Online (Sandbox Code Playgroud)

索引.html:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>NgInAction</title>
  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" …
Run Code Online (Sandbox Code Playgroud)

polymer angular lit-element

4
推荐指数
1
解决办法
3237
查看次数

加载没有 webpack 或 CDN 的静态项目

我想静态地为一个项目提供服务,该项目使用 webcomponents(使用 lit-html),没有任何打包工具,如 webpack 等

示例项目由以下结构组成:

index.html
app.js
package.json
Run Code Online (Sandbox Code Playgroud)

package.json

{
  "name": "lit",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@webcomponents/webcomponentsjs": "^2.2.7",
    "lit-element": "^2.0.1"
  }
}
Run Code Online (Sandbox Code Playgroud)

app.js

import { LitElement, html } from 'lit-element';

class FooElement extends LitElement {
  render() {
    return html`<div>hello world!</div>`;
  }
}
window.customElements.define('x-foo', FooElement);

Run Code Online (Sandbox Code Playgroud)

最后,index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title></title> …
Run Code Online (Sandbox Code Playgroud)

html javascript systemjs es6-modules lit-element

4
推荐指数
1
解决办法
1057
查看次数

使用什么框架来构建 Web 组件:lit-element vs stencil vs SkateJS?

我想开始利用现在所有主要 Web 浏览器都支持的http://webcomponents.me W3C 标准。

我研究了互联网,到目前为止我发现了以下框架:

  1. 模板 - 由离子创建。所有离子组件都使用这个框架/编译器来构建原生支持的 Web 组件。

  2. lit-element - 由 Google 创建,是 Polymer 框架的一部分。

  3. SkateJS - 不知道这背后的原因,但它位于前 3 名流行的 Web 组件框架中。

有人可以给我建议或意见哪个框架最好吗?

javascript web-component stenciljs native-web-component lit-element

4
推荐指数
2
解决办法
5192
查看次数

lit-html 中 slot 没有子节点时执行某些操作

我想在插槽上没有内容时显示文本。

class List extends LitElement {
  public render() {
    return slot.length === 0 
      ? html`No content is available`
      : html`<slot></slot>`;
  }
}
Run Code Online (Sandbox Code Playgroud)

lit-element lit-html

4
推荐指数
1
解决办法
2696
查看次数

LitElement 加载外部脚本

我尝试简单地将其加载到渲染的 HTML 中,但这不起作用。

当前代码:

render() {
    return html `<script @onload="${this.mapKitLoadedCallback}" src="https://cdn.apple-mapkit.com/mk/5.x.x/mapkit.js"></script>`;
}
Run Code Online (Sandbox Code Playgroud)

web-component polymer-3.x lit-element

4
推荐指数
1
解决办法
3761
查看次数

除了“dom-module”之外,还有其他方法可以控制 CustomElementRegistry 和名称吗

我们正在使用 LitElement 构建自定义组件(非公开)。我们将其称为 CompA 和 CompB。我们正在使用 CDN 发布包。

我们通过类型模块的 Script 标签在 HTML 中使用它。当每个组件是页面上唯一的组件时,它都可以正常工作。当我们在同一页面上导入 CompA 和 CompB 时,我们遇到了问题。

未捕获的 DOMException:无法在“CustomElementRegistry”上执行“define”:名称“dom-module”已与此注册表一起使用

我知道问题的产生是因为 CompA 和 CompB 使用了类似的 UI 组件集。可能是纸张输入、纸张按钮等。

在使用 LitElement 构建组件时,有没有办法通过更好地控制 CustomElementRegistry 的命名和“dom-module”以外的名称来避免此错误。

更新:我认为我提问时不够清楚,所以我更新了问题。

web-component polymer lit-element

4
推荐指数
1
解决办法
1346
查看次数

如何使用 Angular 将值绑定到 Web 组件的属性?

首先让我说我以前从未真正使用过 Angular。我正在尝试调试我的 Web 组件库的一位用户面临的问题。

我有一个使用 lit-element 的自定义元素,它具有布尔属性。该布尔属性有一个自定义属性转换器,使其将字符串“false”视为假(与本机 html 元素布尔属性相反,其中该属性的存在使其为真)。转换器看起来像这样:

{
  fromAttribute(val) {
    if (val === 'false') {
      return false;
    }
    if (val === '') {
      return true;
    }
    return Boolean(val);
  },
  toAttribute(val) {
    if (!val) {
      return null;
    }
    return '';
  }
}
Run Code Online (Sandbox Code Playgroud)

据我所知,Angular 有两种将值绑定到模板中的 html 元素的方法:

  1. 按属性, enabled="{{ enabled }}"
  2. 按财产, [enabled]="enabled"

对于像 这样的本机元素<img>,属性绑定按预期工作 - 我在检查 html 时可以看到该属性。

对于自定义元素,似乎根本没有设置属性 - Angular 似乎无论如何都在设置属性。但是,它正在对值进行字符串化。

这是一个试图证明这一点的 stackblitz:https ://stackblitz.com/edit/angular-lit-element-1vz1nf?file=src%2Fapp%2Fapp.component.ts

我有一个<hello-world>接受name, 和的自定义组件enabled。如果您检查 html,则 name 根本没有设置为属性。 …

html angular lit-element

4
推荐指数
1
解决办法
1886
查看次数

lit-element:无法获取对象数组来在循环中渲染输出

刚从点燃元素开始

在我的渲染中我有:

  return html`
   ${this.jobCreate}
   ${this.jobDetails}
  `;
Run Code Online (Sandbox Code Playgroud)

找工作创建工作正常

这是我的工作详情:

  get jobDetails() {
    const jobs = [
      { name: "phoenix job", location: "phoenix", expires: "2020-10-01" },
      { name: "chicago job", location: "chicago", expires: "2020-10-01" },
      { name: "pittsburgh job", location: "pittsburgh", expires: "2020-10-01" },
    ];

    return html`<ul>
      ${jobs.forEach((job) => html`<li>${job.name}</li>`)}
    </ul>`;
  }
Run Code Online (Sandbox Code Playgroud)

检查元素我可以看到一个空<ul>

如果做一个<ul><li>${jobs[2].name}</li></ul>有效的

如果我控制台输出作业,我可以看到所有正确的作业在循环中打印 3 次

我不明白为什么我不能得到<li>在循环中渲染

我用这个作为参考:https ://lit-element.polymer-project.org/guide/templates#template-syntax-cheat-sheet

javascript render typescript lit-element

4
推荐指数
1
解决办法
4245
查看次数

Lit element typescript 项目全局接口声明有必要吗?

Typescript Lit Element 入门项目在示例元素的底部包含此全局接口声明:

declare global {
  interface HTMLElementTagNameMap {
    'my-element': MyElement;
  }
}
Run Code Online (Sandbox Code Playgroud)

有必要吗?它是干什么用的?

javascript web-component typescript lit-element

4
推荐指数
1
解决办法
1490
查看次数