当前位置:   article > 正文

vue 配置公共头部(header)_vue header

vue header

需求:整个项目;每个项目都有头部 但是内容不一样;这种情况我们可以考虑在app.vue中创建公共头部;

App.vue

  1. <template>
  2. <div id="app">
  3. <div class="header" v-if="isShowHeader" id="headers">
  4. <span class="title-info">
  5. {{headerTitle}}
  6. </span>
  7. </div>
  8. </div>
  9. </template>
  10. <script>
  11. import { mapState } from "vuex";
  12. import home from "../src/components/home";
  13. export default {
  14. name: "App",
  15. data() {
  16. return {
  17. };
  18. },
  19. computed: {
  20. // 存储到store状态管理中
  21. ...mapState({
  22. headerTitle: state => state.$vux.headerTitle,
  23. })
  24. },
  25. };
  26. </script>

store.js

  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. Vue.use(Vuex)
  4. const store = new Vuex.Store({ })
  5. store.registerModule('$vux', { // 名字自己定义
  6. state: {//设置属性
  7. headerTitle:'',
  8. },
  9. getters:{ // getters 用来获取sate里面存储的数据
  10. },
  11. mutations: {//更改属性的状态//返回来会有两个状态一个是上面的state,还有一个是返回来的状态(形参),返回之后将我们请求回来的数据赋给state
  12. getHeaderTitle(state, obj) {
  13. state.headerTitle = obj.headerTitle
  14. },
  15. }
  16. export default store

main.js

  1. //全局配置
  2. import Vue from "vue";
  3. import App from "./App";
  4. import router from "./router";
  5. store.commit("getHeaderTitle", { headerTitle: to.meta.title });

router.js

  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. Vue.use(Router)
  4. export default new Router({
  5. // mode: "history",
  6. linkActiveClass: "on",
  7. routes: [
  8. {
  9. path: "/business",
  10. name: "business",
  11. component: business,
  12. meta: {
  13. title: "粤警监管", // 添加该字段,表示进入这个路由是需要登录的
  14. keepAlive: true
  15. }
  16. },
  17. ]
  18. })

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/257063
推荐阅读
相关标签
  

闽ICP备14008679号