svelte - 如何获得 Svelte 组件名称?
问题描述
如何从内部知道 Svelte 组件的名称?
.svelte 文件中的某处:
<script>
console.log('name of this component is', ...)
</script>
用什么代替省略号?
解决方案
您可以使用模块上下文脚本为 Svelte 组件命名:
<script context="module">
const name = 'whatever you want';
</script>
<script>
console.log('name of this component is', name);
</script>
内部代码<script context="module">
运行一次,并且存在于组件的生命周期之外。更多文档:https ://svelte.dev/docs#script_context_module
还有其他方法吗?Svelte 组件被编译为类,但您无权访问它们(没有粗略的、脆弱的 hack)。此外,类没有稳定的方法来获得他们的名字。有constructor.name
,但是当您缩小代码时,该名称可能会更改(更多信息请参见:如何获取 JavaScript 对象的类?)。所以上面的方法是最一致和“苗条”的方法。
推荐阅读
- bash - 如何编写一个函数来处理与正则表达式匹配的任何命令?
- javascript - 生成 N 种颜色的调色板 - 尽可能独特且相距较远,以便在图表中使用
- python - 每次调用python脚本时如何避免重新加载ML模型?
- firebase - 在 UI Firebase Auth Flutter 中显示异常错误
- python - 使用 python madlibs 程序自动化无聊的东西
- r - 具有多个 bin 和组的直方图
- google-cloud-firestore - Firestore:我们不能在使用 whereIn 过滤的字段上使用 orderBy 吗?
- javascript - 使用 HttpClient 和 Angular 将表单发布到 FormSubmit
- python - 如何检测玩家和方块之间的碰撞?游戏
- pandas - 将 nan 值替换为 -99999 是否有意义?