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关于数据和视图操作都离不开状态的改变

  • 相关阅读:
    幸福之路
    mysql8.0.25安装配置教程(windows 64位)
    解决git@gitee.com: Permission denied (publickey).
    python路径拼接os.path.join()函数的用法
    如何正确的看待Python里的GIL锁
    安装激活Golang
    Django的Orm操作数据库
    爬虫技术栈点
    Django
    Python/数据库/Django笔记
  • 原文地址:https://www.cnblogs.com/xue-wejie/p/7443374.html
Copyright © 2011-2022 走看看