无法在Vue JS组件中获取随机数据

时间:2018-07-09 15:18:58

标签: javascript vue.js data-binding

我想在我的html中随机获得这些名称之一。 但我仍然无法正常工作:

Vue.component('modal', {
  template: '#modal-template',
 data: {
    items: [
      { name: 'You' },
      { name: 'Leonidas' }
     ]
 }, nowName : "",

 created () {
    const idx = Math.floor(Math.random() * this.items.length);
    this.nowName = this.items[idx]
  }
})

这是我的Vue代码,我不知道它是否不错,我是否可以使用{{nowName}}将其取回。我用method()尝试了几次,只是在数据中起作用,但这并没有给我带来随机的反馈。

1 个答案:

答案 0 :(得分:2)

是什么让您认为它没有给您随机物品?在您的示例中,idx将始终返回0this.items.length之间的整数。 (01)。例如,当它运行10次时:

const items = [
  { name: 'You' },
  { name: 'Leonidas' }
];
new Array(10).fill(null).forEach((num) => {
  const idx = Math.floor(Math.random() * items.length);
  console.log(items[idx]);
});

nowName不在data()内部(应该是一个函数),这可能是您的问题吗?