Asked Jan 10th, 10:57 AM 77 0 3
  • 77 0 3
0

hỏi về router vuejs

Share
  • 77 0 3

cho mình hỏi là mình muốn xử lý được route như sau: ví dụ đang ở trang chủ khi click vào icon home thì sẽ reload lại data ở trang. Thì sẽ config trong vuejs như thế nào? mình cảm ơn.

3 ANSWERS


Answered Jan 11th, 12:57 AM
0

Bạn cần tìm hiểu về vue-router nhé, mình có ví dụ sẵn bên dưới

// Tạo file route.js
import VueRouter from 'vue-router'

import Home from ...
import Product from ...

export default new VueRouter({
    routes: [
    {
        path: '/home',
        component: Home,
        name: 'Home',
    },
    {
        path: '/product',
        component: Product,
        name: 'Product',
    },
]})
// Tạo file index.js
import Vue from 'vue'

import Home from ...
import router from './router

new Vue({
    router,
    template: '<Home />',
    components: { Home },
}).$mount('#root') // tao 1 index.html co div voi ID la root roi import file.js da duoc build
// index.html
<div id="root"></div>
<script src="../build.js"></script>
Share
Answered Jan 11th, 3:56 AM
0
<router-view :key="$route.fullPath" />

Mình nghĩ bạn đang tìm kiếm thứ này

Share
Avatar quang hải @sven_9x
Jan 11th, 7:41 AM

@tuananhbfs cái này mình thử rồi nhưng ko thấy đc

0
| Reply
Share
Avatar Lê Tuấn Anh @tuananhbfs
Jan 11th, 9:47 AM

@sven_9x "data ở trang" là gồm những gì?

0
| Reply
Share
Avatar quang hải @sven_9x
Jan 12th, 2:55 PM

data call từ api ở created đó b

0
| Reply
Share
Answered Jan 12th, 8:06 AM
0

Mình chưa thử nhưng đang nghĩ đến cách sử dụng watch để reload lại data khi thấy route hiện tại thay đổi thành chính nó. Bạn thử theo hướng này xem.

export default {
  ...
  methods: {
    loadData () {
      // Load data ở trang chủ
    }
  },
  watch: {
    '$route.params.name'(to, from) {
      if (to === from) {
        this.loadData()
      }
    }
}
}
Share
Viblo
Let's register a Viblo Account to get more interesting posts.