zoukankan      html  css  js  c++  java
  • vue 异步组件

    <li :class="{'active': AllModule.netWorksView == 'AdNetWorksAbstract'}">
        <a @click="actionView({path: 'AdNetWorksAbstract'})" href="javascript:void(0)">摘要</a>
    </li>
    <li :class="{'active': AllModule.netWorksView == 'AdNetWorksKeyword'}">
        <a @click="actionView({path: 'AdNetWorksKeyword'})" href="javascript:void(0)">展示广告网络关键字</a>
    </li>

    <!--异步组件-->
    <keep-alive>
        <compenont :is="AllModule .settingView"></compenont>
    </keep-alive>

    <script>
      import Vue from 'vue'

    /*加载对应组件*/
    Vue.component('AdNetWorksAbstract', function (resolve) {
      require(['./AdNetWorks-abstract'], resolve)
    })

    Vue.component('AdNetWorksKeyword', function (resolve) {
      require(['./AdNetWorks-keyword'], resolve)
    })

    export default {
      computed: {
        AllModule () {
          return this.$store.state.AllModule
        }
      }
      methods: {
        // 视图切换
        actionView (argus) {
             // 组件加载
                 this.$store.commit('ALL_NET_WORK_VIEW', argus)  // 把路径对象{path: 'AdNetWorksKeyword'}传到mutation,在mutation的方法下改变状态,加载对应组件
             return
        }
      }
    }

    /*更改视图状态  :is="AllModule .settingView"   AllModule .settingView的这个变量通过点击事件提交mutation处理*/
        const = muatation{

          [ALL_NET_WORK_VIEW] (state, argus) {
          state.netWorksView = argus.path
          }

        }


        const state = {

          netWorksView: 'AdNetWorksAbstract', //这里是进来后默认的组件状态

        }
    </script>

    Vuex关于数据和视图操作都离不开状态的改变

  • 相关阅读:
    Unity c# 状态机的简单入门
    python实战教程之自动扫雷(自己存下来学习之用)
    Kubernetes的三种外部访问方式:NodePort、LoadBalancer和Ingress-十一(1)
    Ubuntu安装eclipse以及创建快捷方式
    Dockerfile-HEALTHCHECK指令
    各个版本Microsoft Visual C++运行库下载
    docker 远程连接设置
    centos7安装redis3.2.12
    Windows下允许redis远程访问
    UltraISO制作U盘启动盘-centos7
  • 原文地址:https://www.cnblogs.com/xue-wejie/p/7443374.html
Copyright © 2011-2022 走看看