我试图创建一个组件,并获取其密钥,以便在axios中使用.

<div class="container" id="root">
    <paddock is="paddock-item" v-for="paddock in paddocks" :key="paddock.key" class="paddock">
    </paddock>
</div>
<script>
var pItem = {
    props: ['key'],
    template: '<div :test="key"></div>',
    created: function() {
        console.log(key);
    }
    };
new Vue({
    el: '#root',
    components: {
        'paddock-item': pItem
    },
    data: {
        paddocks: [
            {key: 1},
            {key: 2},
            {key: 3},
            {key: 4}
        ]
    }
})
</script>

我try 了一些变体,但没有结果-@key是空的.

推荐答案

这个答案回答了一个问题,即您如何 Select 子组件的密钥.如果只想从子组件内部获取当前密钥,请使用投票率最高的答案.


key is a special attribute in Vue. You will have to call your property something else.

这里有一个替代方法是使用pkey.

console.clear()
var pItem = {
  props: ['pkey'],
  template: '<div :test="pkey"></div>',
  created: function() {
    console.log(this.pkey);
  }
};
new Vue({
  el: '#root',
  components: {
    'paddock-item': pItem
  },
  data: {
    paddocks: [{
        key: 1
      },
      {
        key: 2
      },
      {
        key: 3
      },
      {
        key: 4
      }
    ]
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.js"></script>
<div class="container" id="root">
  <paddock-item v-for="paddock in paddocks" :pkey="paddock.key" :key="paddock.key" class="paddock">
  </paddock-item>
</div>

Vue.js相关问答推荐

为什么在Vue.js中修改非react 性似乎是react 性的?

使用V-TOOLTIP(实例化)使工具提示在V-文本字段中显示清晰的图标

vue3 ssr 不返回纯 html

如果单元格不可见,则以编程方式打开行的编辑模式. Ag 网格,Vue.js

带有 netlify.toml 文件的环境变量

在重复表行中

如果 Vuetify 自动完成没有匹配的结果,则保留输入的文本

nuxt.js - 预加载 .woff 字体加载为@font-face

使用 jquery-chosen 插件更新 vuejs 模型值

为什么在 Vue.js 中使用 `var` 关键字?

用 axios 搜索:新字符时取消之前的请求

Vuetify v-data-table ,如何在 HTML 中呈现标题文本?

Vue 和 Bootstrap Vue - 动态使用插槽

Vue.js 如何计算总数?

此 set-cookie 已被阻止,因为它具有 samesite=lax

在 Vue JS 组件中使用 Laravel 路由的最佳方法是什么

标签中的 href 赋值

Vue 2.0 设置路由 - 不要使用new来产生副作用

使用 CloudFront 部署在 S3 上的 VueJS 应用程序的指定的密钥不存在

在 Vuex 模块中进行继承的方法