javascript - 对数据键的值调用方法?

标签 javascript vue.js vuejs2 key-value vuetify.js

我一直在开发一个游戏,我需要对键“sides”的值调用一个函数(类似于“onclick=”rollDice(6)””)。我尝试过使用 Mustache 插值和 v 绑定(bind),但我似乎无法返回 NaN 或 undefined 之外的任何内容。

相关标记:

   <v-list>
    <v-list-tile v-for="die in dice" :key="die.name">
      <v-list-tile-avatar>
        <v-avatar size="32px" tile @click="rollDice()" >
          <img :src="die.img">
        </v-avatar>
      </v-list-tile-avatar>
      <v-list-tile-title>{{ die.name }}</v-list-tile-title>
    </v-list-tile>
  </v-list>

来自数据:

dice: [
    { img: require("../assets/d4.svg"), name: "d4", sides: 4 },
    { img: require("../assets/d6.svg"), name: "d6", sides: 6  },
    { img: require("../assets/d8.svg"), name: "d8", sides: 8 },
  ]

来自方法:

  rollDice: function(sides){
  var rollResult = Math.ceil(Math.random() * sides)
  console.log(rollResult)
}

我试图尽量减少链接的代码,但如果我可以进一步链接任何内容,我会很高兴。预先感谢您的帮助!

最佳答案

您没有将 die.sides 传递给点击处理程序,如下所示:@click="roll Dice(dice.sides)"

完整代码为:

<v-list>
  <v-list-tile v-for="die in dice" :key="die.name">
    <v-list-tile-avatar>
      <v-avatar size="32px" tile @click="rollDice(die.sides)" >
        <img :src="die.img">
      </v-avatar>
    </v-list-tile-avatar>
    <v-list-tile-title>{{ die.name }}</v-list-tile-title>
  </v-list-tile>
</v-list>

关于javascript - 对数据键的值调用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55233179/

相关文章:

javascript - 当您在 JavaScript 的函数声明中声明 .autoCurry() 时会发生什么?

javascript - 使用 Promise 控制 VueJ 中的事件流

vue.js - 我可以禁用特定组件的某些 Vue 警告吗?

javascript - 为什么打开另一个页面时组件上的数据没有更新? (Vue.JS 2)

javascript - 嵌套 JSON 数组对象代码不起作用

javascript - 仅使用 LMB 启动 onclick/onmousedown

javascript - 为什么带有 async/await 的 Array.map() 返回奇怪的结果?

javascript - Vue.js - 尝试将对象从 data() 传递到 Mounted() 函数

javascript - 二维数组的 ng-repeat

javascript - 在 vue 中构建音频播放器;如何在更改绑定(bind) :src? 后让音频开始播放