我想在我的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()尝试了几次,只是在数据中起作用,但这并没有给我带来随机的反馈。
答案 0 :(得分:2)
是什么让您认为它没有给您随机物品?在您的示例中,idx
将始终返回0
和this.items.length
之间的整数。 (0
或1
)。例如,当它运行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()
内部(应该是一个函数),这可能是您的问题吗?