如何在vue.js中启用组件?
当我打开任何url时,我总是看到如何在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
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中的dominportapp.vue
中也没有看到div id=“app”
(这是一个Django
主机)您必须输入一个基本参数thanx。我以后再试试。