0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Spotify + Vue.jsで気になるアーティストの人気を調べるぞ! Home画面編

Posted at

どうもjackです。
お久しぶりです。
あれから色々ありまして今はVue.jsとDjangoを使って開発しています。
現場でせっかくVue.jsを使っているので何か自分でも作ってみたいなぁと。

どうせなら何かAPIを叩いてデータを引っ張って来たいなぁといことで題名のものを作ってみたいなとなりました!

私の開発環境は以下となっています。

  • vue@2.6.11
  • macOS

既にVue.jsはインストールされているものとしています。
では早速・・・

vue create my-cli

ド定番でプロジェクト名はmy-cliでいきましょう!
そしてディレクトリを移動してbootstrapをインストールしていきます。

npm install vue bootstrap-vue bootstrap

そんでもってMain.jsも書き換えちゃいましょう。えいっ!

src/main.js
import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import BootstrapVue from 'bootstrap-vue' // こいつ

Vue.use(BootstrapVue) // こいつ
Vue.config.productionTip = false;

import 'bootstrap/dist/css/bootstrap.css' // こいつ
import 'bootstrap-vue/dist/bootstrap-vue.css' // こいつ

new Vue({
  router,
  render: h => h(App)
}).$mount("#app");

では、早速動かして見ましょう!!!

npm run serve

例のあの画面が出たのではないでしょうか?
まじこのシステム作った人すげえええ

ただ、メニューの選択を少しいじりたい衝動に駆られたので変えちゃいましょう。
ついでにいらないものも削除!!!えいっ!!!

scr/App.vue
<template>
  <div id="app">
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
      <router-link class="navbar-brand" to="/">Home</router-link>|
      <button
        class="navbar-toggler"
        type="button"
        data-toggle="collapse"
        data-target="#navbarNav"
        aria-controls="navbarNav"
        aria-expanded="false"
        aria-label="Toggle navigation"
      >
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarNav">
        <ul class="navbar-nav">
          <li class="nav-item active">
            <router-link class="nav-link" to="/about">Search</router-link>
          </li>
        </ul>
      </div>
    </nav>
    <router-view />
  </div>
</template>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}

</style>

すると画面的にはこんな感じ。
スクリーンショット 2020-04-27 22.03.35.png

なんか寂しい。。。
次はホーム画面をかえていきましょう。
と言っても「お気に入りのアーティストを検索してみよう!」くらいしか書かないのですが(泣)

ここでお引越しを行います。
理由としてviewディレクトリにあったりcomponentにあったりややこしいのが好かんからです。
ということでsrc/viewsディレクトリ配下にある下記ファイルをcomponentに移動します。

Home.vue
About.vue
./src
├── App.vue
├── assets
├── components
│   ├── About.vue
│   ├──Home.vue
│   └── HelloWorld.vue
├── main.js
└── router
    └── index.js

そしてindex.jsを下記に書き換えちゃいます。

src/router/index.js
import Vue from "vue";
import VueRouter from "vue-router";
import Home from "../components/Home.vue";
import About from "../components/About.vue";

Vue.use(VueRouter);

const routes = [
  {
    path: "/",
    name: "Home",
    component: Home
  },
  {
    path: "/about",
    name: "About",
    component: About
  }
];

const router = new VueRouter({
  routes
});

export default router;

そしてHome.vueの不要なコードを削除して下記のようにします。
それと同時にHelloWorld.vueは削除です。

src/component/Home.vue
<template>
  <div class="home">
  </div>
</template>

<script>

export default {
  name: "Home",

};
</script>

うん、すっきり。
スクリーンショット 2020-04-28 21.46.38.png

でも、まだURLがAboutのままなのでこれをsearchに変更します。
それに伴いAbout.vueもSearch.vueに変更!!

src/router/index.js
import Vue from "vue";
import VueRouter from "vue-router";
import Home from "../components/Home.vue";
import Search from "../components/Search.vue";

Vue.use(VueRouter);

const routes = [
  {
    path: "/",
    name: "Home",
    component: Home
  },
  {
    path: "/search",
    name: "Search",
    component: Search
  }
];

const router = new VueRouter({
  routes
});

export default router;
src/App.vue
<template>
  <div id="app">
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
      <router-link class="navbar-brand" to="/">Home</router-link>|
      <button
        class="navbar-toggler"
        type="button"
        data-toggle="collapse"
        data-target="#navbarNav"
        aria-controls="navbarNav"
        aria-expanded="false"
        aria-label="Toggle navigation"
      >
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarNav">
        <ul class="navbar-nav">
          <li class="nav-item active">
            <router-link class="nav-link" to="/search">Search</router-link> //ここ変えた 
          </li>
        </ul>
      </div>
    </nav>
    <router-view />
  </div>
</template>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}

</style>

これでURL変更完了です!!!
Home画面は今はこんな感じで!
後で頑張れたら頑張るから。

Home.vue
<template>
  <div class="home">
    <h2>search my favorite music</h2>
  </div>
</template>

<script>

export default {
  name: "Home",

};
</script>
スクリーンショット 2020-04-28 22.20.43.png

simple is ok!!!

では続きはsearch画面編で!!

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?