如何在Vue.js中获取随机元素

Fig*_*Ali 5 javascript jquery vue.js vue-component vuejs2

我有3个英雄图像及其内容,我想在用户刷新页面时随机显示它们!

基本上我试图在加载页面上使用Jquery显示随机div,但问题是英雄图像的大小很大并且通过使用Jquery,所有这3个图像开始加载,DOM这会影响页面的速度.

在Vue.js中是否有任何解决方案可以一次加载一个特定div的,而不是divs用户刷新页面时全部3个!?

<div class="slider-item"> <img src="../../../static/img/slides/slide1.png" alt="Hello"> 
       <div class="carousel-caption"> 
           <h2>Lipsum Heading</h2> 
               <h4>Lipsum dummy content body test dummy goes here.</h4> 
       </div> 
   </div>
Run Code Online (Sandbox Code Playgroud)

jQuery代码:

mounted()
{
 var random = Math.floor(Math.random() * $('.slider-item').length);
 $('.slider-item').eq(random).show();
},
Run Code Online (Sandbox Code Playgroud)

kev*_*guy 7

一切都很直接.只需随机化您在Vue中选择的链接即可.

const app = new Vue({
  el: '#app',
  data: {
    images: [
      'http://via.placeholder.com/350x150',
      'http://via.placeholder.com/200x140',
      'http://via.placeholder.com/200x100'
    ],
    selectedImage: ''
  },
  created () {
    const idx = Math.floor(Math.random() * this.images.length);
    this.selectedImage = this.images[idx]
  }
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.js"></script>
<div id="app">
  <img v-bind:src="selectedImage" />
</div>
Run Code Online (Sandbox Code Playgroud)