“未知自定义元素”警告位于组件标记内部,但不在其外部

2024-03-27

我创建了一个像这样的组件:

<template>
  <span class="my-icon">
    <img :src="iSrc" :alt="iname"/>
  </span>
</template>

<script>
  export default {
    props: ['iname'],
    computed: {
      iSrc() {
        return require('../../../assets/images/' + this.iname + '.png')
      }
    }
  }
</script>

在页面中使用它,如下所示:

<template>
  <div>
    <h3>Share it:</h3>
    <social-sharing inline-template network-tag="a">
      <div class="my-icons">
        <network network="facebook" class="fb-icon">
          <icon name="fb" />        
        </network> 
      </div>
    </social-sharing>
  </div>
</template>

<script>
  import Icon from '~/comps/icon.vue'
  export default {
    components: {
      Icon
    }
  }
</script>

但它抛出了这个错误:

[Vue warn]: 未知的自定义元素: - 您是否正确注册了组件?对于递归组件,请确保提供“名称”选项。

The <social-sharing>组件来自 Vue 插件。如果我用我的<icon>组件外部<social-sharing>标签它工作正常,但在它内部抛出错误。


这是因为您正在使用inline-template上的特殊属性<social-sharing>成分。

来自文档 https://v2.vuejs.org/v2/guide/components.html#Inline-Templates:

当子组件上存在 inline-template 特殊属性时,该组件将使用其内部内容作为其模板,而不是将其视为分布式内容。

里面的一切<social-sharing>标签被视为该组件的模板定义。而且,自从你的<icon>组件正在外部注册<social-sharing>组件的范围,它不知道如何处理<icon> tag.

因为它看起来像<social-sharing>组件依赖于inline-template定义,我唯一能想到做的就是注册<icon>全局组件:

// in your main.js file
import Icon from '~/comps/icon.vue'
Vue.component('Icon', Icon);

那么,自从<icon>组件将在全局范围内,<social-sharing>组件将有对其的引用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“未知自定义元素”警告位于组件标记内部,但不在其外部 的相关文章

随机推荐

  • 创建一个排除某些文件的补丁文件

    我想创建一个补丁文件 仅将某些文件从 dir2 修补到 dir1 两者都是同一项目的 git 存储库 但是 dir2 包含第一个版本的高度修改版本 我只想修补对某些文件所做的更改 dir2 还具有 dir1 没有的额外文件 主要是 dir1
  • 在 Ubuntu WSL2 上连接到本地主机的问题

    我在本地为 django 项目设置了 Apache2 服务器 并且运行得非常好 问题是 休息一天后我回到它并尝试连接到服务器 但不知何故我无法连接到它 即使在检查 apache 服务是否正在运行并重新加载配置以确保确定之后也是如此 我无法从
  • 在 Firefox 或我的代理中禁用 websocket

    我已将 Firefox 配置为使用我的 http 和 https 代理 是的 我自己编写代理代码 因此我可以完全控制代理 您可能知道 无法再通过 about config 在 Firefox 中禁用 WebSocket 我正在寻找一种轻量级
  • C# 参数中的键值对

    我正在寻找一种方法来实现以下功能 myFunction Key value Key2 value 我确信匿名类型的某些东西会非常简单 但我没有看到它 我能想到的唯一解决方案是params KeyValuePair
  • Angular 6 observables - 从 .subscribe() 函数中提取数据并在其他地方使用

    我用可观察到的东西把头撞在墙上 我能找到的几乎所有文档都是较旧的rxjs句法 我有一个可观察的 API 调用 我在其他地方调用它并订阅它 尝试用此数据填充表GET要求 如果我简单地console log my getData函数 它记录订阅
  • 构造函数与类 {proguard] 不匹配

    我在我的应用程序中启用 proguard 每当我构建应用程序时 我都会收到以下错误 Constructor not matched for class com acs nomad d b e 根据我的映射文件 它所指的类如下 package
  • Android - 条码片段结果不显示

    解决了 应用程序工作正常 不会崩溃 但应该将 resultView 文本从 Hasil Scan 更新为扫描结果 但事实并非如此 问题是扫描后文本视图 结果视图 未更新 我使用 DM77 Zxing 条码扫描仪 这是我到目前为止所做的代码
  • 在 Swift 中传递并打印枚举中的所有情况

    考虑这个简单的枚举 enum myEnum String case abc ABC case xyz XYZ 我想编写一个可以打印枚举中所有情况的函数 喜欢 printEnumCases myEnum 预期结果 ABC XYZ 注意 我可以
  • 尝试 UNINSTALL_SHORTCUT 但快捷方式不会消失

    我创建了一个测试活动 它在 Android 主屏幕上安装了它自己的快捷方式 当您单击按钮时 活动应该删除它刚刚创建的相同快捷方式 但是 我似乎没有做任何事情来删除快捷方式 下面是 Java 代码 ShortcutTest java impo
  • 为什么那些 Google 图像处理示例 Renderscript 在 Nexus 5 的 GPU 上运行速度较慢

    我要感谢斯蒂芬在上一篇文章中的快速回复 这是这篇文章的后续问题为什么非常简单的 Renderscript 在 GPU 中的运行速度比在 CPU 中慢 3 倍 https stackoverflow com questions 2038169
  • 无法在 SwiftUI 中获得正确的视图位置

    我试图获取 Button 的 midX 位置 但它总是给我意想不到的结果 我尝试过使用 global local 和 named 坐标空间 但它仍然不起作用 也许还有另一种方法可以在没有 GeometryReader 的情况下获取 UI 元
  • VSTS Build vNext NuGet 自定义包源

    我们有一份 Azure 企业协议 其中包含一个绑定了 VSTS 帐户的主订阅 我们设置了包管理扩展 以便为不同的项目托管一些有用的包 对于每个客户 我们在此 EA 中创建一个订阅并与其绑定一个 VSTS 帐户 我们在后一个订阅的托管构建代理
  • 删除一对多关系中的子项

    非常基本的 Hibernate 3 6 10 实现存在问题 我有两节课 日程表和活动 到达事件的唯一方法是通过时间表 因此我将其建模为具有许多事件的时间表的一对多关系 这是时间表 package com heavyweightsoftwar
  • 避免臭名昭著的“eval(parse())”构造

    好的 所以我正在运行一些循环来处理存储在列表对象中的数据 永远铭记那些臭名昭著的人fortune告诫不要使用eval parse mystring 我想出了这个 Rgames gt bar foo foo fast 1 1 2 3 4 5
  • AVL树:在O(logn)时间内找到两个值之间的键中数据值最小的键

    所以我得到了一棵AVL树 我试图至少找出伪代码 以在两个值 k1 和 k2 之间的所有键中找到具有最小数据值的键 这是假设每个节点中存储的字段数据是整数 我想确保我的伪代码在 O logn 时间内运行 我知道我可以通过在节点结构中存储一个额
  • Activity.getIntent() 可以返回 null 吗?

    Can Activity getIntent https developer android com reference android app Activity html getIntent 永远回来null 文档没有提到这种可能性 所以
  • 在 Symfony2 上的产品中使用 assetic 时找不到 Twitter Bootstrap glyphicons 字体

    我读过很多关于此的文章 但无法让它适用于我的项目 所以基本上我有一个 Symfony2 项目 其中包括 twitter bootstrap v3 在开发模式下一切正常 但当我在产品模式下尝试时 我收到错误消息 说找不到 twitter 引导
  • 从 Php 上下文调用 Node 和 uglifyjs

    我正在尝试 JS minifier 库 UglifyJS2 我使用 homebrew 在我的 mac 上安装了 node js 然后通过 npm 安装了 uglifyjs 在 shell 中一切正常 在路径中找到节点 我手动将 uglify
  • http 参数 MAX_COUNT Wildfly 的默认值是多少?

    我们已经将jboss升级到wildfly 在旧版本中我们遇到了这样的问题post中传递的最大参数个数 https stackoverflow com questions 12277231 maximum number of paramete
  • “未知自定义元素”警告位于组件标记内部,但不在其外部

    我创建了一个像这样的组件