<div id="app"> <div class="leftBox"> <!-- 使用 router-link 组件来导航. --> <!-- 通过传入 `to` 属性指定链接. --> <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 --> <ul> <li><router-link to="/" actived>首页</router-link></li> <li><router-link to="/article">文章</router-link></li> <li><router-link to="/picture">图片</router-link></li> <li><router-link to="/music">音乐</router-link></li> </ul> </div> <div class="rightBox"> <!-- 路由出口 --> <!-- 路由匹配到的组件将渲染在这里 --> <router-view></router-view> </div> </div>
var Home = {template: '<div>home</div>'}
var router = new VueRouter({
routes: [
{path: '/', component: Home},
{path: '/picture', component: Picture},
{path: '/music', component: Music},
{path: '/article', component: Artlist},
{path: '/article/:id', component: Article}
]
})
new Vue({
el: "#app",
router: router
})
var Article = {
template: '<div class="post">\
<div class="loading" v-if="loading">loading.....</div>\
<transition name="slide">\
<div v-if="post" class="content" :key="post.id">\
<button @click="back">返回</button>\
<p>{{post.title}}</p>\
<P>{{post.body}}</P>\
</div>\
</transition>\
</div>',
data: function() {
return {
loading: false,
error: null,
post: null
}
},
created:function() {
this.fetchData();
},
watch: {
'$route': 'fetchData'
},
methods: {
fetchData:function () {
this.error = this.post = null;
this.loading = true;
getPost(this.$route.params.id,(err,post) => {
this.loading = false;
if(err) {
this.error = err.toString();
}else {
this.post = post
}
})
},
back: function() {
router.go(-1);
}
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有