如何在vue.js中启用组件?

如何在vue.js中启用组件?,vue.js,vue-component,vue-router,Vue.js,Vue Component,Vue Router,当我打开任何url时,我总是看到UsersList.vue组件。为什么?因为我在App.vue中包含了它?如果我把它改成,我总是看到空页。我怎样才能修好它?如何通过路由器链接从列表视图跳转到详细视图 index.js import Vue from 'vue' import Router from 'vue-router' import UsersList from '@/components/UsersList' import UserDetail from '@/components/Us

当我打开任何url时,我总是看到
UsersList.vue
组件。为什么?因为我在App.vue中包含了它?如果我把它改成
,我总是看到空页。我怎样才能修好它?如何通过
路由器链接从
列表视图
跳转到
详细视图

index.js

import Vue from 'vue'
import Router from 'vue-router'

import UsersList from '@/components/UsersList'
import UserDetail from '@/components/UserDetail'

Vue.use(Router)


export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/users/',
      name: 'UsersList',
      component: UsersList
    },
    {
      path: '/user/:id',
      name: 'user_detail',
      component: UserDetail
    }
  ]
})
Vue.use(VueResource)
Vue.use(VueAxios)

new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})
main.js

import Vue from 'vue'
import Router from 'vue-router'

import UsersList from '@/components/UsersList'
import UserDetail from '@/components/UserDetail'

Vue.use(Router)


export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/users/',
      name: 'UsersList',
      component: UsersList
    },
    {
      path: '/user/:id',
      name: 'user_detail',
      component: UserDetail
    }
  ]
})
Vue.use(VueResource)
Vue.use(VueAxios)

new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})
Vue.use(VueResource)
Vue.use(VueAxios)
新Vue({
el:“#应用程序”,
路由器,
组件:{App},
模板:“”
})
App.vue

<template>
  <div id="app">
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App',
}
</script>
<template>
  <div>
      <tr v-for="user in usersList" :key="user.id">
        <td><router-link :to="{name:'user_detail',params:{id:user.id}}">{{ user.id }}</router-link></td>
      </tr>
  </div>
</template>

<script>
export default {
  name: 'UsersList',
  data() {
    return {
      usersList: []
    };
  },
  mounted() {
    this.$axios
      .get('http://127.0.0.1:8000/api/v1/users/')
      .then(response => (
        this.usersList = response.data.results
      ));
  }
}

导出默认值{
名称:“应用程序”,
}
UsersList.vue

<template>
  <div id="app">
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App',
}
</script>
<template>
  <div>
      <tr v-for="user in usersList" :key="user.id">
        <td><router-link :to="{name:'user_detail',params:{id:user.id}}">{{ user.id }}</router-link></td>
      </tr>
  </div>
</template>

<script>
export default {
  name: 'UsersList',
  data() {
    return {
      usersList: []
    };
  },
  mounted() {
    this.$axios
      .get('http://127.0.0.1:8000/api/v1/users/')
      .then(response => (
        this.usersList = response.data.results
      ));
  }
}

{{user.id}
导出默认值{
名称:“UsersList”,
数据(){
返回{
用户列表:[]
};
},
安装的(){
这是axios
.get('http://127.0.0.1:8000/api/v1/users/')
。然后(响应=>(
this.usersList=response.data.results
));
}
}

您必须在路由器配置文件(
index.js
)中导入组件(
UserList
UserDetail
)。 之后,您将能够使用

您想要访问的url是什么? 您必须在路由器中添加
base

export default new Router({
  mode: 'history',
  base:'/users',
  routes: [
    {
      path: '/users/',
      name: 'UsersList',
      component: UsersList
    },
    {
      path: '/user/:id',
      name: 'user_detail',
      component: UserDetail
    }
  ]
})

不要工作。我更新了我的代码。我在您的
main.js
中的dominport
app.vue
中也没有看到
div id=“app”
(这是一个
Django
主机)您必须输入一个基本参数thanx。我以后再试试。