项目实训(七)上下文展开与导出界面

本文介绍了如何在Vue.js应用中实现段落内容的上下文展示、导出以及回退功能。通过点击段落链接,用户能跳转到上下文页面,展示每个段落的中英文内容。同时,提供了导出为txt文件的功能,用户可一键导出所有段落。此外,为了方便用户返回,应用还实现了历史记录回退,允许用户在不刷新页面的情况下回到段落查询界面。
摘要由CSDN通过智能技术生成

目录

一、通过段落跳转上下文

二、上下文的段落展示

1、代码

2、结果展示

三、导出功能

1、要求

2、安装FileSaver包

3、在main.js中全文引入

4、设置导出方法

5、结果展示

四、回退到段落界面


一、通过段落跳转上下文

同样的,在点击【展开】时,带着参数段落id,跳转到显示上下文的页面。

<router-link tag="a" :to="{path: '/contentAll',query:{id:tableData.contentId}}" @click="postRecord(tableData.contentId)" class="sTitle-sub-head" style="font-size: 18px;color: #606060">—展开—</router-link>

二、上下文的段落展示

1、代码

    <!-- 显示段落 -->
    <section class="feature-content">
      <div class="row justify-content-center" style="float: left" >
        <div class="feature-content feature-content-5" ref="text">
          <el-button class="search-btn" @click="outData">导出</el-button>
          <div  class="feature-discription"  v-for="tableData in tableDatas" >
            <p  v-html="tableData.ch" style="font-family: 'Microsoft YaHei UI'"> {{tableData.ch}}</p>
            <p  v-html="tableData.eng"> {{tableData.eng}}</p>
            <br>
          </div>
        </div>
      </div>
    </section>

通过展示每个段落的中、英文,并循环展示在一个div中。每个段落之间加一个回车,展示更加清晰。

mounted()

  mounted() {
    this.id = this.$route.query.id
    this.findTXT()
    if (location.href.indexOf("#reloaded") == -1) {
      location.href = location.href + "#reloaded";
      location.reload();
    }
  },

交互代码:

async findTXT(){
      var contentID = this.id
      var _this = this
      let url = '/contents/getCont'
      await this.$http.get(url,{
        params:{
          book:'1',
          id:contentID
        }
      }).then(function (resp){
        _this.tableDatas=resp.data.data;
        console.log(resp)

      }).catch(function (error){
        console.log(error)
      })
    },

2、结果展示

三、导出功能

1、要求

在展示上下文中,用户可以点击导出文本txt形式

2、安装FileSaver包

npm install file-saver --save

3、在main.js中全文引入

 import {saveAs} from 'file-saver';

4、设置导出方法

在导出按钮上设置事件属性,调用saveAs方法,设置导出的格式和名字

outData(){

      var data = this.$refs.text.innerText;
      let str = new Blob([data],{type:'text/plain;charset=utf-8'});
      saveAs(str,'content.doc');
    }

5、结果展示

四、回退到段落界面

由于展开上下文,用户点击可以回到上一个页面的操作很频繁。但直接跳转到段落查询页面,之前的查询记录会被刷新。所以要通过history,在不刷新的情况下回到前一个页面。

<li><a href="javascript:history.back(-1)" >段落查询</a></li>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值