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

  • 相关阅读:
    MVC4中EasyUI Tree异步加载JSON数据生成树
    Linq语法
    委托的多种写法
    centos7安装Hive2.3.0
    ApacheKylin笔记
    把普通的JavaProject变成MavenProject
    eclipse 手动/自动安装插件
    我的JdbcUtils类
    Druid 连接池 JDBCUtils 工具类的使用
    Maven下载cxf所需要的jar包
  • 原文地址:https://www.cnblogs.com/xue-wejie/p/7443374.html
Copyright © 2011-2022 走看看