问题标签 [stenciljs]

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 回答
656 浏览

stenciljs - StencilJS 样式化其他组件

我有一个简单的组件被另一个组件调用,我要添加一个边距值。

例子:

子组件:

父组件

父组件样式

如何将样式应用于子组件?

编辑

我意识到我可以定位子组件,然后应用样式。

0 投票
1 回答
228 浏览

stenciljs - 事件发出错误

所以我有这个代码 -

单击按钮时,我在控制台中收到此错误-

知道为什么吗?

0 投票
1 回答
1015 浏览

events - 返回 isTrusted false

我正在用 Stencil 编写我的第一个 Web 组件。
这是此处发布的药丸组件:https ://github.com/reservoir-dogs/rp-pills

组件代码:

这个测试工作正常:

但是我的 HTML 示例和 Ionic App 中的集成不起作用并返回以下消息:{"isTrusted":false}

HTML 示例:

0 投票
4 回答
4604 浏览

css - Stenciljs CSS 全局变量

我无法让全局 css 变量按照 ionic stencil docs中的描述工作。

我在 'src/global/' 中创建了一个 'variables.css' 文件,然后将“globalStyle: 'src/global/variables.css'” 放入“stencil.config.ts” 文件中。

然后我在 variables.css 中创建了一组 css 变量,并尝试在我的组件的 css 文件中使用它们;但是,使用默认值,因为它无法加载全局变量。

随意看看测试回购

0 投票
1 回答
934 浏览

javascript - 将自定义模板传递给模板组件

我正在使用 Stencil 创建一个自定义组件来复制UI-select.

该组件将像这样使用:

然后组件定义为

这些项目渲染得很好。由于用户可以传递自定义的对象数组,所以我需要自定义选项模板。因此用户可以在使用组件时传递它。

现在我正在为组件中的选项使用静态模板,比如

但我需要一种方法从我使用模板的地方传递这个模板。我不能在那里使用插槽,因为我在循环运行的所有选项中使用相同的模板。

0 投票
0 回答
297 浏览

web-component - 将一些外部 js 导入 Stenciljs Web 组件时出现问题

我已经能够毫无问题地导入一些简单的外部 js 库,例如 moment 到自定义 Stencil Web 组件,但最近我想构建一个依赖于 stomp-websocket 和 sockjs-client 的 stomp Web 组件。

我无法正确导入其中任何一个。在我使用的任何导入变体中,我在 npm start 的控制台上收到很多警告,在浏览器控制台上我得到

npm 启动控制台:

任何有关正在发生的事情的见解都值得赞赏。

0 投票
2 回答
1993 浏览

angular - 错误:使用 StencilJS 克隆 Ionic 4 组件时出现“找不到模块”

我需要用 克隆一个Ionic 4组件StencilJS,然后...

我刚刚创建了存储库:

https://github.com/napolev/custom-range

基于存储库:

https://github.com/ionic-team/stencil-component-starter

然后复制Ionic组件range

https://github.com/ionic-team/ionic/tree/master/core/src/components/range

到:

但是在打开项目时VS Code出现以下错误:

如下图所示:

在此处输入图像描述

关于如何将那些缺失的引用包含到我的项目中的任何想法?

谢谢!

[编辑 1]

在回应@Ayoub k评论时,他说:

添加以下依赖项:

您可以在node_modules文件夹下的@stencil文件夹中找到资源。

这是我的答案:

/node_modules/@stencil目录中,我有以下目录结构:

找不到引用的依赖项,例如:

0 投票
2 回答
689 浏览

typescript - 模板组件启动器中的离子标签组件未呈现

我克隆了stencil-component-starter来自:

https://github.com/ionic-team/stencil-component-starter

然后在文件上:my-component.tsx我有以下代码:

正如你在这里看到的:

https://github.com/napolev/stencil-ion-range/blob/master/src/components/my-component/my-component.tsx

[之前]几乎可以正确渲染,但有两个问题1 and 2
[现在]它根本没有渲染。因此,存在三个问题1, 2 and 3

  1. 标签被<ion-label/>忽略。

  2. 每个旋钮都可以移动到另一个旋钮之外(请忽略这一点,我认为这是新版本的故意)。

  3. 这是我刚刚发现的一个新问题(Current time: 2018-08-26 19:20)。就像 12 小时前(检查 repo 上的时间戳)存储库:https ://github.com/napolev/stencil-ion-range/提交时几乎正确地12c14b75cca92f19af6c5ccae60091319578cec7生成了上面的标签,除了问题 1 和 2(检查下面的图片) . 但是现在在干净安装此存储库之后,它不再呈现您在下图中看到的内容。这很奇怪。在完成该提交后,我检查了它在全新安装后呈现的情况。<ion-range/>

这是它之前渲染的内容,它不再被渲染:

在此处输入图像描述

参考:

https://ionicframework.com/docs/api/components/range/Range/

关于如何解决这个问题的任何想法?

谢谢!

[编辑 1]

这是对以下 Aaron Saunders 评论的回应:

模板组件启动器中的离子标签组件未呈现

Aaron,我添加了您建议的代码,您可以在此处看到:

https://github.com/napolev/stencil-ion-range/commit/d3471825131d3d329901c73d8c6803a609b27c3b#diff-34c2a6c626ee2612cd4f12b2c004a0b1L16

但是当运行代码时:$ npm start以下是渲染的内容:

在此处输入图像描述

您是否正确渲染了组件?

我删除了该node_modules目录并再次安装它们,但没有成功。

你可以试试我的存储库吗?

正如你所看到的,我在官方提交的基础上只做了 2 次提交:

https://github.com/napolev/stencil-ion-range/commits/master

以防万一这是我用于主要工具的版本:

[编辑 2]

这个主题有一个平行的讨论:

https://forum.ionicframework.com/t/ion-label-component-inside-the-stencil-component-starter-not-getting-rendered/139763

[编辑 3]

这是对下面Alexander Staroselsky评论的回应:

模板组件启动器中的离子标签组件未呈现

Alexander,我通过以下更改尝试了您的建议:

https://github.com/napolev/stencil-ion-range/commit/68fce2abe25536b657f9493beb1cc56e26828e4f

现在<ion-range/>组件被渲染了(这真的很好),但是渲染时出现了一些问题,如下图所示。组件的<ion-label/>宽度很大。

在此处输入图像描述

关于如何解决这个问题的任何想法?

谢谢!

[编辑 4]

添加来自Aaron Saunders的建议可以解决问题:

感谢Alexander Staroselsky​​Aaron Saunders,因为通过结合他们的建议,我可以完成这项工作。

0 投票
1 回答
179 浏览

stenciljs - 如何在我的 stenciljs 构建中包含任意模块/文件?

我正在创建一个带有工具提示组件的组件库。我想为我的包的用户提供导入我创建的服务的能力。基本上我希望 API 看起来像这样:

我怎么做?

0 投票
0 回答
164 浏览

javascript - 使用 Angular 跳过焦点或激活禁用的按钮

当我按 Tab 键浏览屏幕上的控件(对于 Angular 应用程序)时,它在选项卡序列中包含禁用的控件,当使用此 Angular 机制有条件地禁用控件时:

问题是,如果我还包括一个点击事件处理程序......

...虽然您确实无法通过鼠标单击激活单击处理程序,但您可以通过按回车键(回车)来激活它!

那是糟糕的用户体验;当按钮被如图所示的表达式禁用时,我希望它(a)完全无法聚焦或(b)能够忽略按 Enter。有什么建议么?

(也许我的代码库中有些东西加剧了这种情况,但对我来说,上面看起来像是默认的 Angular 行为。