文本,展现到文章的面前,Vue结合v-for实现传参的方法,好的资料,Vue实现动态绑定,数据放到前端页面上

简介: 文本,展现到文章的面前,Vue结合v-for实现传参的方法,好的资料,Vue实现动态绑定,数据放到前端页面上

原文链接:

vue中的三种传递参数方法_vue button 传参-CSDN博客

<div class="shopLine" @click="goDetails(item.id)" v-for="item,index in cart">
<button @click="goThird">点击跳转第二种方式传参</button>
<button @click="goSi">点击跳转第三种方式传参</button>

在methods方法下

methods:{
    //也是path的方式来去传递动态路由参数
    //#/second/00001
    goDetails(isd){
      this.$router.push({
        path:'/second/'+isd
      })
    },
    goThird(){
      //第二种方式传参  不需要匹配路由中做配合
      //是用  路由的别名  name 来去做跳转
      //并且是用 params  来去传递参数
      //#/thrith
//    this.$router.push({
//      name:'Thrith',
//      params:{
//        pid:'123456'
//      }
//    })
      this.$router.push({
        path:'/thrith'
      })
    },
    //第三种方式 也是用  path 来去匹配相应的路由
    //传递参数 是用 query来去传递参数  
    //#/si?pid=1234567  和get请求传递参数 是一致
    goSi(){
      this.$router.push({
        path:'/si',
        query:{
          pid:'1234567'
        }
      })
    }
  }

在second , thrith , si ,页面取参数

second 页面

 //mounted 已经挂载/渲染完成后会自动调用这个函数  
  mounted(){
    //console.log('111')
    //在vue  提供了 this.$route.params.id  来去获取 动态路由传过来的参数
    //获取参数 id  意思  是路由配置中所写的参数 跟router index.js 中设置的名字是一样
    var id = this.$route.params.id;
    console.log(id);
    //http 请求 把 这个id  当做参数 向后台服务器 请求数据
    //拿到result
    //this.cart = result
     
  }

si 页面

//mounted 已经挂载/渲染完成后会自动调用这个函数  
  mounted(){
      var id = this.$route.query.pid;
      console.log(id);
     
  }

thrith 页面

//mounted 已经挂载/渲染完成后会自动调用这个函数  
  mounted(){
    //第二种方式传递的参数 和第一种方传递的参数  获取的时候  都是一致
    //第二种方式传递的参数 在刷新过后就不会存在了
    //这个方式的传递的参数 安全系数 就比较高
    //一般是用在  参数只能够使用一次的  接口  比如  支付
//    var id = this.$route.params.pid;
//  console.log(id);
     
  }

动态路由跳转到一个新的页面,第一步,建一个新的页面:

Vue-router,使用英文,来定义路由的参数项

第一步准备一个接收参数的页面

第二步 在vue-router中使用英文冒号:定义路由参数项

使用this.route.params.id获取动态路由传递过来的参数

前端点击跳转到的id页面,完整代码:

 
 
<template>
    <div v-html="code.code"></div>
  </template>
  
  <script>
  import axios from 'axios';
  import '@/css/common/normalize.min.css';
  import '@/css/common/style.css';
//   import '@/css/'
 
  import '@wangeditor/editor/dist/css/style.css' // 引入 css
  export default {
      data(){
          return {
              code: [],
              id: 2
          }
      },
      mounted(){
          var id = this.$route.params.id;
          axios.get('/code/selectById/' + id).then(res => {
          this.code = res.data.data
        })
        console.log(this.article)
      }
  }
  </script>
<style>
  
div {
  word-wrap: normal;
  font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
  -webkit-hyphens: none;
  hyphens: none;
  line-height: 1.5;
  margin: .5em 0;
  overflow: auto;
  padding: 1em;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  text-align: left;
  text-shadow: 0 1px #fff;
  white-space: pre;
  word-break: normal;
  word-spacing: normal;
}
 
div {
  background-color: var(--w-e-textarea-slight-bg-color);
  border: 1px solid var(--w-e-textarea-slight-border-color);
  border-radius: 4px 4px;
  display: block;
  font-size: 14px;
  padding: 10px;
  text-indent: 0;
}
div {
  background-color: var(--w-e-textarea-slight-bg-color);
  border-radius: 3px;
  font-family: monospace;
  padding: 3px;
}
</style>

路由写法:

  {
    path: '/code/:id',
    component: () => import('@/views/until/code/codeContainer')
  },

点击想要跳转的代码:

 <div class="container">
      <div class="scroll-container clearfix" @click="goDetails(item.id)" style="height: 135px;margin: 0 700px 0 325px;" v-for="item in code" :key="item.id">
        <div class="left_Container">
          <div style="font-size: 18px;padding: 0 0 90px 0;text-align: left;" >{{ item.title}}</div>
          <div style="padding: 0 0 0 0;text-align: left;font-size: 14px;">
            {{ item.category}}<span style="font-size: 12px;margin-left: 10px;">{{ item.introduce }}</span>
          </div>
        </div>
        <div class="right_Container" style="padding: 10px 0 0 0;">
          <img src="@/assets/login.png" alt="" style="width: 158px;height: 112px;">
        </div>
      </div>
    </div>
  </div>
</template>
<!-- 
<script setup>
 
import editor from 'monaco-editor'
const dom = ref("")
const initEditor = () => {
        // 初始化编辑器,确保dom已经渲染
        editor.value = monaco.editor.create(dom.value, {
            theme: 'vs-dark', //官方自带三种主题vs, hc-black, or vs-dark
            value: dataList.contentValue, //编辑器初始显示文字
            readOnly: false,
            automaticLayout: true,
            language: "javascript",
            folding: true,  //代码折叠
            roundedSelection: false, // 右侧不显示编辑器预览框
            autoIndent: true // 自动缩进
        });
    }
</script> -->
<script>
import axios from 'axios';
export default {
      data(){
          return {
              code: [],
              id: 2,
              url: "http://localhost:9090/code",
          }
      },
      methods:{
        goDetails(id){
          this.$router.push({
            path: '/code/' + id
          })
        }
      },
      mounted(){
          axios.post(this.url + "/list").then(res => {
          this.code = res.data.data
        })
      }
  }
 
</script>
 
<style>
.right_Container {
  background-size: 12px !important; 
}
  * {
  margin: 0;
  padding: 0;
}
 
ul li {
  font-family: 黑体;
  list-style: none;
  font-weight: 600;
}
 
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
 
.header {
  width: 100%;
  height: 100%;
}
 
 
.logo {
  height: 60px;
  background-color: #fff;
  padding: 12px 0 0 38px;
 
}
 
.logo a {
  display: block;
  width: 320px;
  height: 60px;
  background: url('@/assets/tuku/logo.png') no-repeat;
  text-decoration: none;
}
 
.logo h1 a div {
  font-family: "黑体";
  font-size: 20px;
  padding-top: 7px;
  margin-right: 60px;
  font-style: italic;
}
 
.blueStyle {
  background: linear-gradient(135deg, #2564b8 56%, #ffffff 84%);
  /*设置渐变的方向从左到右 颜色从ff0000到ffff00*/
  /*设置渐变的方向从左到右 颜色从ff0000到ffff00*/
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
 
.search {
  float: right;
  margin-right: 430px;
  margin-top: 10px;
  border-radius: 50px;
}
 
input:focus {
  outline: none;
}
 
.logo {
  float: left;
}
.search-style {
  display: inline-block;
  padding: 0px 0 1px 10px;
  border-radius: 18px 0 0 18px;
  width: 484px;
  height: 40px;
  box-sizing: border-box;
  line-height: inherit;
  border: 2px solid #418df5;
  border-right: none;
  font-size: 14px;
}
.btn {
  display: inline-block;
  color: #fff;
  font-style: italic;
  width: 105px;
  border: 2px solid #418DF5;
  line-height: 37px;
  font-weight: 300;
  background-color: #418DF5;
  border-radius: 0 16px 16px 0;
}
.classify {
  padding-left: 40px;
}
 
.classify ul li {
  float: left;
  font-size: 17px;
  font-style: italic;
  padding-right: 28px;
}
 
.userlabel {
  margin-bottom: 22px;
  padding: 25px 0 0 38px;
}
 
.userlabel ul li {
  float: left;
  font-size: 16px;
  padding: 0 40px 25px 0;
  font-style: italic;
}
 
.left_Container{
  float: left;
}
.right_Container {
  float: right;
}
.clearfix:after {content: "";display: block;clear: both;}
</style>

效果:点击之后

到了显示页面

相关文章
|
1月前
|
JavaScript 前端开发 Java
制造业ERP源码,工厂ERP管理系统,前端框架:Vue,后端框架:SpringBoot
这是一套基于SpringBoot+Vue技术栈开发的ERP企业管理系统,采用Java语言与vscode工具。系统涵盖采购/销售、出入库、生产、品质管理等功能,整合客户与供应商数据,支持在线协同和业务全流程管控。同时提供主数据管理、权限控制、工作流审批、报表自定义及打印、在线报表开发和自定义表单功能,助力企业实现高效自动化管理,并通过UniAPP实现移动端支持,满足多场景应用需求。
170 1
|
2月前
|
移动开发 前端开发 JavaScript
Vue与React两大前端框架的主要差异点
以上就是Vue和React的主要差异点,希望对你有所帮助。在选择使用哪一个框架时,需要根据项目的具体需求和团队的技术栈来决定。
231 83
|
15天前
|
IDE 前端开发 开发工具
用通义灵码IDE做产品高保真原型和前端页面
通义灵码IDE助力高效开发,告别传统Axure原型图的繁琐沟通。通过该工具可直接生成高保真产品原型与前端页面,大幅提升客户确认效率及满意度。现已将相关演示发布至B站(https://www.bilibili.com/video/BV18qT7ziEb7/?vd_source=dc6a6864c895818db6ce4170d50b3557),欢迎体验!用直观操作代替反复说明,让交付更流畅。
|
1月前
|
JavaScript 前端开发 编译器
Vue与TypeScript:如何实现更强大的前端开发
Vue.js 以其简洁的语法和灵活的架构在前端开发中广受欢迎,而 TypeScript 作为一种静态类型语言,为 JavaScript 提供了强大的类型系统和编译时检查。将 Vue.js 与 TypeScript 结合使用,不仅可以提升代码的可维护性和可扩展性,还能减少运行时错误,提高开发效率。本文将介绍如何在 Vue.js 项目中使用 TypeScript,并通过一些代码示例展示其强大功能。
106 22
|
22天前
|
JSON 前端开发 JavaScript
前端工具方法整理
前端工具方法整理
45 8
|
4月前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
270 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
5月前
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
180 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
3月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
4月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
292 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
4月前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
156 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡