Tutorial CRUD CodeIgniter 4 & Vue JS #6 - Menambahkan Vue Router & Axios


Fika Ridaul Maulayya
I'm a Full-Stack Web Developer, Content Creator and CO-Founder Santri Koding. I share everything i know with Articles, Screencasts and E-Books at SantriKoding.com

Halo teman-teman semuanya, pada kesempatan kali ini kita semua akan belajar menambahkan Vue Router dan Axios di dalam project Vue Js kita.

Vue Router akan kita gunakan untuk membuat navigasi di project Vue Js kita menjadi SPA atau biasanya disebut Single Page Application, jadi kita berpindah-pindah halaman tanpa harus melakukan reload page / refresh halaman.

Dan untuk Axios fungsinya di dalam project Vue Js adalah untuk mengolah Restful API dari CodeIgniter yang sebelumnya sudah kita buat. Seperti halnya mendapatkan data, mengirim data, dan intinya adalah Mengkonsumsi API.

Langkah 1 - Install Vue Router

Silahkan jalankan perintah di bawah ini untuk menginstall Vue Router di dalam project Vue Js kita.

npm i vue-router

Silahkan tunggu proses installasi sampai dengan selesai, proses installasi ini membutuhkan koneksi internet. Setelah proses installasi selesai, sekarang kita akan menggunakan Vue Router di project Vue JS.

Langkah 2 - Konfigurasi Vue Router

Sekarang, silahkan teman-teman buka file main.js di dalam folder src, silahkan ubah kodenya menjadi seperti berikut ini :

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

//import vue router
import VueRouter from 'vue-router'

Vue.use(VueRouter);

//import component
import PostIndex from './components/posts/Index'
import PostCreate from './components/posts/Create'
import PostEdit from './components/posts/Edit'

const router = new VueRouter({
  routes: [{
      path: '/',
      name: 'posts',
      component: PostIndex
    },
    {
      path: '/create',
      name: '/create',
      component: PostCreate
    },
    {
      path: '/edit/:id',
      name: 'edit',
      component: PostEdit
    }
  ],
  mode: 'history'
})

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

Di atas kita mengimport Vue Router kita di dalam main.js, kurang lebih seperti berikut ini :

//import vue router
import VueRouter from 'vue-router'

Kemudian kita akan use Vue Router di dalam Vue Js menggunakan kode berikut ini :

Vue.use(VueRouter);

Dan kita juga mengimport component-component yang akan kita gunakan nanti untuk menampilkan data, input data, edit & update data. Yang mana component ini akan kita jadikan SPA atau Single Page Application.

//import component
import PostIndex from './components/posts/Index'
import PostCreate from './components/posts/Create'
import PostEdit from './components/posts/Edit'

Kemudian kode di bawah ini mendeklarasikan Vue Router dengan component-component yang sudah kita import di atas dengan memberikan beberapa configurasi seperti path, name, component.

  • path - adalah URL yang akan kita buat untuk component
  • name - adalah nama dari Vue Router, ini akan di gunakan untuk lebih mudah berpindah-pindah halaman dengan hanya memanggil nama Vue Routernya.
  • component - adalah component yang akan digunakan untuk Vue Router ini.
const router = new VueRouter({
  routes: [{
      path: '/',
      name: 'posts',
      component: PostIndex
    },
    {
      path: '/create',
      name: '/create',
      component: PostCreate
    },
    {
      path: '/edit/:id',
      name: 'edit',
      component: PostEdit
    }
  ],
  mode: 'history'
})

Langkah 3 - Install Axios

Setelah kita berhasil menginstall Vue Router dan sekaligus menkonfigurasi sekarang kita lanjutkan untuk menginstall Axios di dalam project Vue Js kita ini. SIlahkan jalankan perintah di bawah ini :

npm i axios

Silahkan tunggu proses installasinya sampai selesai, pastikan teman-teman harus terhubung dengan internet, karena dependensi ini diunduh secara online.

Untuk implementasi Axios akan kita praktekan untuk menampilkan data, input data, edit dan hapus data di tutorial yang selanjutnya.

Source Code

CodeIgniter Restful API : https://github.com/SantriKoding-com/CodeIgniter4-Restful-API

Vue Js : https://github.com/SantriKoding-com/Vue-Js-CodeIgniter

Terima Kasih


Fika Ridaul Maulayya
I'm a Full-Stack Web Developer, Content Creator and CO-Founder Santri Koding. I share everything i know with Articles, Screencasts and E-Books at SantriKoding.com
KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami

KOMENTAR