我想在header标签里面动态的去改变名称,点击到login页面时显示login点击到search页面是header显示searrch。请问怎么写
var App = Vue.extend({
route:{
data:function (transition) {
this.$route.title = 'login'
}
}
})
我想在header标签里面动态的去改变名称,点击到login页面时显示login点击到search页面是header显示searrch。请问怎么写
var App = Vue.extend({
route:{
data:function (transition) {
this.$route.title = 'login'
}
}
})
我现在项目也有这个需求,我的方案是这样的:
main.js定义路由:
router.map({
'/': {
name: 'home',
title: "红包日历",
component: function(resolve){
require(['./components/Home.vue'], resolve);
}
},
'/taskList/:tasktype': {
name: "list",
title: ["联盟任务", "限时任务", "深度任务"],
component: function(resolve){
require(['./components/TaskList.vue'], resolve);
}
}
...
})
我的x-header组件在App.vue下,就是在根组件下,通过App的data来控制x-header的title属性。App.vue和x-header组件的关系是父子关系。
其他组件:Home.vue、Task.vue都在App.vue的router-view挂载。
所以,App.vue跟Home.vue的关系是父子关系,可以在Home.vue中用this.$root或者this.$parent来指向App.vue。
在对应组件里面,使用route data hook,这里我用Home.vue来举例子
module.exports = {
name: "home",
route: {
data: function (transition) {
this.$root.xHeader.title = this.$route.title;
transition.next()
},
waitForData: true
}
}
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
this.$root.title = 'login'
$dispatch
vuex