欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Vue 页面跳转不用router-link的实现代码

程序员文章站 2023-10-18 12:18:48
1、给父页面跳转的地方设置事件 //原来的页面上展示的信息
...

1、给父页面跳转的地方设置事件

//原来的页面上展示的信息 
 <div v-if="!addshow" class="function"> 
 <el-row> 
  <template slot-scope="scope"> 
   <el-button type="success" size="mini" @click="handleedit(scope.$index, scope.row)">编辑</el-button>  
    //带参数进行编辑 
   <el-button type="danger" size="mini" @click="handledelete(scope.row)">删除</el-button> 
  </template> 
 </el-row> 
</div> 

//要跳转过去的页面用隐藏来代替 
    <div v-if="addshow" class="add-category "> 
     <el-col :span="20" :offset="2"> 
      <el-form :model="formdata" :rules="rules" ref="formdata" label-position="left"> 
       <el-row> 
        <el-col :span="10"> 
         <el-form-item label="销售区域名称" prop="name"> 
          <el-input v-model="formdata.name"></el-input>  
            //v-model绑定formdata.name(name为需要的字段,formdataw为表格ref绑定的数据) 
         </el-form-item> 
        </el-col> 
       </el-row> 
       <el-col :span="18"> 
        <el-form-item label="销售区域描述"> 
         <el-input type="textarea" :rows="5" v-model="formdata.description"></el-input> 
        </el-form-item> 
       </el-col> 
       <el-col :span="2" :offset="9"> 
        <el-button type="success" @click="handlesubmit('formdata')" >确定</el-button> 
       </el-col> 
       <el-col :span="2" :offset="1"> 
        <el-button @click="oncancel">取消</el-button> 
       </el-col> 
      </el-form> 
     </el-col> 
    </div> 

2、js部分

data() { 
  addshow: false //设置要显示的页面部分默认为false,隐藏 
  checkddistributor: null, 
}, 

methods: { 
// 编辑按钮 
    handleedit(index,row){ 
      this.checkddistributor = row; //接受传参 
      this.addshow = true; // addshow为要显示的页面  
    } 
} 
watch: { 
    // 带参数编辑 
    checkddistributor(){ 
      for(let attr in this.formdata){ 
        this.formdata[attr] = ('' + this.checkddistributor[attr]); //写入参数 
      } 
    } 
  }, 

3、最后上效果图

Vue 页面跳转不用router-link的实现代码


Vue 页面跳转不用router-link的实现代码

补充:

vue router-link跳转传值示例

1、router-link

<router-link :to="{name:'deitail',params:{freezemon:'2017-10',owername:'西安'}}" tag="div" >
</router-link>

2、routes路由

export default new router({
 routes: [
   {
    path: '/',
    name: 'index',
    component: index
   },
   {
    path: '/deitail',
    name: 'deitail',
    component: deitail
   }
 ]
})

3、取值

<h1>{{$route.params.freezemon}}</h1>

4、小结:router-link跳转传值要注意的地方

* to前面要加:
 * to后面{中的name值要与路由中的name值一致
* 下面的这种方式是错误的

<router-link to="{path:'/deitail',params:{freezemon:'2017-10',owername:'西安'}}" tag="div" >
</router-link>