DEV Community

Margaret W.N
Margaret W.N

Posted on • Edited on

Day 81: My Vue Component

I made a component in Vue that does nothing important. The steps in summarry:

  • Created an Vue instance in index.js
new Vue({ el: '#app', data: { days: ['Mon', 'Tue', 'Wed', 'Thur'] } }); 
Enter fullscreen mode Exit fullscreen mode
  • Defined a component in index.js
Vue.component('card', {}) 
Enter fullscreen mode Exit fullscreen mode

Side note: Single word component names are not a good practice.

  • Defined a template in index.html
<script type="text/x-template" id="card-template" > <div class="card"> <p id="nextDay"> {{day}} </p>  <div class="innerCard"></div>  </div> </script> 
Enter fullscreen mode Exit fullscreen mode
  • Used a CSS selector to access the template in index.js
Vue.component('card', { template:'#card-template' }) 
Enter fullscreen mode Exit fullscreen mode
  • Created a prop in index.js
 props: { day: { type: String, required: true } } 
Enter fullscreen mode Exit fullscreen mode
  • Looped through the data in the Vue instance in index.html
 <div id="app"> <card v-for="day in days" :day="day"> </card>  </div> 
Enter fullscreen mode Exit fullscreen mode

Output
Alt Text

Day 81 Done and dusted

Top comments (0)