DjangoでAPI&Nuxtで検索機能を実装!
Djangoで設計したAPIを元にNuxtで検索機能を実装する方法を紹介しようと思います。
Nuxtで検索機能を実装
APIの受け渡しにはaxiosを使います。これも前回と同じですね。
それではsearch.vueを実装していきましょう。bootstrapを使っています。
<template> <div> <b-container> <form v-on:submit.prevent="search"> <div class="input-group"> <input v-model="query" type="text" class="form-control" placeholder="キーワード検索"> </div> </form> <b-tabs> <b-tab title="ユーザー" active> <user v-for="user in users" :key="user.id" :user="user"/> </b-tab> </b-tabs> </b-container> </div> </template>
<script>の方はこのようになります。
export default { data() { return { query: '' } }, async asyncData(app) { const users = await app.$axios.$get(`/api/users/`) return { users } }, methods: { async search() { const users = await this.$axios.get(`/api/users/?search=${this.query}`) this.users = users.data } } }
これで検索機能がNuxtで実装できたと思います。
何かあれば、じぇい👨💻 (@jyouj__) | Twitterに!