[Vue 警告]:缺少必需的道具:“productInfo”

2024-03-13

我对 Vue 相当陌生,所以这可能是显而易见的,但我一定错过了一些东西。我不断收到错误:[Vue warn]: Missing required prop: "productInfo"在我的 .vue 文件中。它说它在 ProductSlider.vue 中找到。

产品滑块.vue

    <template>
  <div
    id="recommendedProducts">
    <h2>{{ params.headerText }}</h2>
    <div
      class="wrapper">
      <div class="carousel-view">
        <carousel
          :navigation-enabled="true"
          :min-swipe-distance="1"
          :per-page="5"
          navigation-next-label="<i class='fas fa-3x fa-angle-right'></i>"
          navigation-prev-label="<i class='fas fa-3x fa-angle-left'></i>">
          <slide
            v-for="product in products"
            :key="product.id">
            <Product
              :id="product.id"
              :product-info="product"/>
          </slide>
        </carousel>
      </div>
    </div>
  </div>
</template>

<script>
  import Slider from './Slider'
  import Product from './Product'
  import {mapState, mapGetters} from 'vuex'
  import axios from 'axios';

  export default {
    name: "Slider",
    components: {
      Product
    },
    props: {
      productInfo: {
        type: Object,
        required: true
      }

    },

我砍掉了 ProductSlider 代码的末尾,因为其余部分非常长且无关紧要。

然后这是我的 Product.vue:

<template>
  <Product>
    <div class="img-container text-center">
      <a
        :href="productInfo.href"
        class="handCursor"
        tabindex="0">
        <img
          v-if="productInfo.imgOverlay"
          :src="productInfo.imgOverlayPath"
          :alt="productInfo.title"
          :aria-label="productInfo.title"
          border="0"
          tabindex="-1">
        <img
          :src="productInfo.imgURL"
          :alt="productInfo.title">
      </a>
    </div>
    <h4 class="itemTitle">{{ productInfo.title }}</h4>
    <div class="price-div">
      <div class="allPriceDescriptionPage">{{ productInfo.price }}</div>
    </div>
    <a
      href="#"
      tabindex="0"
      name="instantadd">
      <div class="btn_CA_Search buttonSearch gradient"> Add to Cart</div>
    </a>
  </Product>
</template>

<script>
  export default {
    name: "Product",
    props: {
      productInfo: {
        type: Object,
        required: true,
      },
    },
  }
</script>

I have productInfo在道具中,所以我不确定为什么我不断收到此错误。


我想你很困惑props和子组件的props, 当你有:

<Product
  :id="product.id"
  :product-info="product"/>

你有一个道具productInfo在子组件中定义Product,不在组件中ProductSlider本身,如果你定义 propproductInfo in ProductSlider,那么你必须将它从父组件传递下来,也就是说你需要有<ProductSlider :product-info="..."/>每当ProductSlider用来。

Notice <Product :product-info="product"/>并不意味着您正在使用的值productInfo, product-info是的名字prop这是定义在Product成分。

我认为一个合理的类比是如果你将你的组件视为一个函数,props为函数参数,需要提供函数参数当他们被召唤时

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

[Vue 警告]:缺少必需的道具:“productInfo” 的相关文章

  • vuejs中如何获取组件编译后的html内容

    我有一个这样的组件
  • 使用 jquery-chosen 插件更新 vuejs 模型值

    尝试使用jquery 选择 http harvesthq github io chosen 使用 vue 问题是这个插件隐藏了我应用的实际选择v model 所以当我选择一个值时 vue 不会将其识别为选择更改事件 并且模型值不会更新 当我
  • Vue Router - 使用 Vue 2 Composition API 获取路由参数

    我正在使用Vue 2 组合 API https github com vuejs composition api并想从我的 Vue Router 访问路由参数setup method 如中所述Vue 路由器文档 https next rou
  • 如何在 ChartJS 中创建自定义图例

    我需要使用 ChartJS 库为我的圆环图创建自定义图例 我已经使用 ChartJS 提供的默认图例创建了甜甜圈 但我需要一些修改 我希望其价值高于汽车名称 另外 我不喜欢粘性图例 我想将其与甜甜圈分开 这样我就可以更改字体 框的样式 例如
  • Vue.JS 可以与 AJAX http 调用一起使用吗?

    我正在尝试从 HTML 中执行以下操作 var vm new Vue el loginContent data main message Login isLoggedIn false loginError loginButton Login
  • Vuejs2 Modal 与 vue-router 中的路线

    我正在尝试使用模态创建一条路由 当您使用路由器链接访问此路由器路径时 会在当前页面上方显示一个模态 或者如果我直接从 url 访问 则会出现上面带有模态的索引 例如 我在http localhost 个人资料 1 http localhos
  • 如何更改 Vuetify 日历日期格式

    我正在尝试在以下 Vuetify 日历上启用输入事件 https github com vuetifyjs vuetify blob master packages docs src examples calendars complex e
  • 使用 Vercel 进行 Vue.js 历史记录模式的服务器配置?

    我设置了一个非常基本的 Vue js 应用程序 主要使用这些步骤 https auth0 com docs quickstart spa vuejs 01 login 当我将路由器添加到该项目时 它询问我是否要使用历史模式 我说是 现在我正
  • Vue js按钮冻结dom

    我试图在按下按钮时切换包含加载动画的跨度 直到使用 v if 函数完成 但是当我按下按钮时 DOM 冻结并且 span 元素保持不变 直到函数调用结束 如何让 DOM 不冻结并显示加载图标 非阻塞按钮按下可能是一个解决方案 HTML
  • 将 VueJs 组件添加到 Django 模板中

    我正在开发一个 Django 网站 我希望将一些 Vue 组件 散布 到 Django 渲染的模板中 我正在单个存储库中工作 并使用 webpack 设置来创建我在 Django 模板中使用的 style js 包 我正在努力让功能按照我想
  • Vue.js 动态图像路径未加载

    我试图在单个文件组件中动态加载图像 但收到错误消息 指出无法找到该模块 我想我正在尝试做同样的事情这个帖子 https stackoverflow com questions 40491506 vue js dynamic images n
  • 如何在 vuejs 中防止/停止点击传播

    我有一个递归列表 树 每个元素都有一个 click sayHello el id 现在的问题是 因为它是一个嵌套列表 例如 list element 0 01 list el 1 01 list el 2 01 list el 1 02 l
  • 如何使用vue.js获取点击时按钮的值

    我在页面上有几个按钮 它们连接到相同的方法webcamSendRequestButton
  • 使用 vue.js 显示 json 结果

    您好 我尝试使用 vue js 显示 json 文件结果 目标是结果将显示在值上 这是我的代码 data return fetchData function var self this self http get api casetotal
  • node.js、vue.js 和express.js 堆栈开发

    我正在尝试使用 Linux 上的 Visual Studio Code IDE 使用 vue js express js 和 node js 创建一个 Web 应用程序 根据网上的一些文档 我读到安装 vue js 后 可以创建一个vue
  • Web 扩展中共享 vuex 状态(死对象问题)

    我正在尝试在网络扩展中使用共享的 vue js 状态 状态存储在后台脚本的 DOM 中并呈现在弹出页面中 第一次尝试 我的第一次尝试是使用一个没有 vuex 的简单商店 背景 js var store count 0 popup js br
  • 如何修复套接字 io 中的 400 错误错误请求?

    我有一个前端应用程序 VUE JS 我有一个后端 Nest JS Vue JS 应用程序使用 vue socket io extended 库通过 websockets 从后端获取数据 当 Vue JS 应用程序启动时 我在浏览器中看到错误
  • 不使用Vue可以使用Vuex吗? (Vuex 服务器端?)

    Vuex 抱怨如果不调用 Vue use Vuex 就无法创建新的 store 实例 虽然这通常没问题 但我正在摆弄使用同一商店编写后端 前端的想法 有人知道答案吗 Thanks TL DR 你可以在 Node 中完美使用 Vuex 无需浏
  • 在新窗口中打开 VueJS 组件

    我有一个只有一页的基本 VueJS 应用程序 它不是 SPA 而且我不使用 vue router 我想实现一个按钮 单击该按钮时会使用我的 Vue 组件之一的内容执行 window open 函数 查看来自的文档window open ht
  • 有没有V型斗篷的反面?

    根据VueJS 文档 https v2 vuejs org v2 api v cloak v cloak 指令可用于隐藏未编译的 Mustache 绑定 直到 Vue 实例准备就绪 换句话说 我可以隐藏一个div或类似的东西 当 vue 准

随机推荐