当前位置: 首页 > news >正文

学校网站 模板seo优化课程

学校网站 模板,seo优化课程,万州区建设局官方网站,网站建设公司固定ip1:应用场景 对于系统内所有内嵌iframe 的页面均通过同一个路由/iframe, 在router.query内传入不同src 参数,在同一组件内显示iframe 内嵌页面,对这些页面分别进行缓存。主要是通过v-show 控制显示隐藏从而达到iframe 缓存逻辑 2&#xff1a…

1:应用场景

对于系统内所有内嵌iframe 的页面均通过同一个路由'/iframe', 在router.query内传入不同src 参数,在同一组件内显示iframe 内嵌页面,对这些页面分别进行缓存。主要是通过v-show 控制显示隐藏从而达到iframe 缓存逻辑

2:路由文件配置  router/index.ts

{
        name: 'iframe',
        path: '/iframe',
        component: Iframe,
      },

 3:修改home.vue 文件

3.1 增加变量判断是否先死iframe 组件

// 根据路由判断是否显示Iframe 组件
    const iframeShow = computed(() => route.value?.path.indexOf('/iframe') === 0);

 3.2 在state 中添加响应式数据 wrapperMap, iframeComList

const state = reactive({
      // 保存相同iframe 组件修改之后的组件名称同iframe套壳组件的映射关系
      wrapperMap: new Map(),
      // wrapperMap 转换成的数组,循环遍历生成iframe组件
      iframeComList: [] as any,
    });

3.3  对同一iframe 路由传入不同参数的组件套壳修改name 进行缓存

const wrap = (name:any, query:any, component:any) => {
      let wrapper;

      const wrapperName = name + '-' + query.catchName;
      if (state.wrapperMap.has(wrapperName)) {
        wrapper = state.wrapperMap.get(wrapperName);
      } else {
        wrapper = {

          name: wrapperName,

          render() {
            return h('div', { className: 'vaf-page-wrapper' }, component);
          },

        };

        state.wrapperMap.set(wrapperName, wrapper);
      }
      return h(wrapper);
    };

 3.4 在template 部分增加 组件通过v-show 控制ifram 路由缓存的组件是否渲染

<!-- :class="{'content-fill':!showAside}" -->
            <router-view v-if="!iframeShow" />
            <!-- iframe 组件缓存 -->
            <div v-show="iframeShow" class="iframe-container">
              <component
                :is="h(wrapperMap.get(item[0]))"
                v-for="(item) in iframeComList"
                v-show="iframeShow && item[0] === (String(route?.name) + '-'+ route.query.VIRTUAL_NAME)"
                :key="item[0]"
              />
            </div>

 3.5 监听路由

/**
     * 监听路由生成新的iframe 组件并保存
     */
    watch(
      () => route,
      (newValue, oldValue) => {

        if (route.value.path.indexOf('/iframe') === 0) {
          wrap(route.value.name, route.value.query, h(Iframe));
          nextTick(() => {
            state.iframeComList = [...state.wrapperMap];
          });
        }
      },
      {
        deep: true,
        immediate: true,
      },
    );

http://www.hkea.cn/news/319918/

相关文章:

  • 古董手表网站网络营销的主要方式和技巧
  • 做公司网站要那些资料百度电脑版下载官方
  • 定州网站建设公司企业网站源码
  • 0基础1小时网站建设教程如何给自己的公司建网站
  • 成都网站建设s1emens电商平台怎么加入
  • 六合哪家做网站建设域名注册查询软件
  • 网站建设的方案费用2023年新冠疫情最新消息
  • 九星市场做网站快速将网站seo
  • 长春做网站推广的公司提升神马关键词排名报价
  • 金融网站cms百度网盘客服电话人工服务
  • 美观网站建设物美价廉seo网站优化专员
  • 网站设计应该怎么做推广软文代写
  • 网站建设工作室发展百度收录教程
  • 没有网站 可以做百度口碑吗成都网站制作
  • 医院系统网站建设百度宁波营销中心
  • 网站劫持代码杭州互联网公司排名榜
  • 做网站找哪个部门吸引人的推广标题
  • 网站制作软件名字线做竞价推广代运营公司
  • avada如何做中英文网站沈阳百度推广排名优化
  • 做网站品长沙网络营销公司排名
  • b2b商贸网站环球网最新消息疫情
  • wordpress next主题什么是seo教程
  • 如何规划一个网站快手秒赞秒评网站推广
  • 中国网站开发网站seo需要用到哪些工具
  • 织梦做的网站首页出现空白网页平台做个业务推广
  • 备案做电影网站吗yandx引擎入口
  • 网站双倍浮动百度账号登陆入口
  • 聊城市网站建设网站推广排名
  • 帝国新闻网站模板百度seo推广怎么做
  • 预约做港澳证的网站网站排名在线优化工具