Build a Mini Netflix (with Vue)
  • Introduction
  • Enter Contest
  • Media Delivery and Transformation
  • Setting Up a Webtask Server
  • Provision and Configure a Database
  • Create Server Routes
  • Setting Up a Vue Client
  • Header and Navigation
  • Video Player Component
  • Playing Videos
  • Cloudinary Account and Initialization
  • List of Movies Component
  • Showing A List of Movies
  • New Movie Modal Component
  • Uploading Movies
  • Sharing on Twitter
  • Deploy to Heroku
  • What's Next
Powered by GitBook
On this page
  • Fetch the Movies
  • Render VideoList
  • Handle the Selected Videos

Showing A List of Movies

To populate the list component with a list of movies from App, the parent component, send a request to your server for the data.

Fetch the Movies

To obtain a list of the movies:

  1. Import axios, a library for making Ajax requests:

    import axios from 'axios';
  2. Add the Ajax logic to the created lifecycle method of the App component:

    axios.get(this.url)
    .then(res => {
    this.movies = res.data;
    })

    The logic sends a get request with axios to a URL stored in this.url. When a payload returns, it sets this.movies to the value of the payload.

  3. Define movies and url in the model:

    data() {
    return {
    movie: {},
    movies: [],
    url: '<YOUR WEBTASK URL>/movies'
    };
     },

Render VideoList

Now import the VideoList component and render its element.

  1. Import VideoList:

    import VideoList from './components/VideoList.vue';
  2. Specify the child in the component:

    components: {
    VideoPlayer,
    VideoList
    }
  3. Render to the DOM immediately below the VideoPlayer component:

    <div class="container">
     <h2 class="is-size-3">Movies</h2>
     <VideoList movie="updatePlayer" :movies="movies"></VideoList>
    </div>

Handle the Selected Videos

Afterwards, the choose-movie event calls the updatePlayer method if the event is triggered. Therefore, add updatePlayer to the methods object:

  methods: {
  updatePlayer(movie) {
  this.movie = movie;
  },
  }

updatePlayer sets the value of movie, which triggers the watch in VideoPlayer, causing a change in the trailer that is playing.

So far, so good:

You can also select a movie to see its trailer:

PreviousList of Movies ComponentNextNew Movie Modal Component

Last updated 7 years ago