Javascript 如何在router.push()(Vue.js)中将参数从一个组件传递到另一个组件?
我正在实现一个函数,其中用户单击编辑按钮(显示在一行中),该行中的所有详细信息都应传递给表单组件,我应在其中从参数中获取这些字段的默认值。我不知道如何实现这个。。。有人能提出解决办法吗Javascript 如何在router.push()(Vue.js)中将参数从一个组件传递到另一个组件?,javascript,vue.js,parameter-passing,vue-router,Javascript,Vue.js,Parameter Passing,Vue Router,我正在实现一个函数,其中用户单击编辑按钮(显示在一行中),该行中的所有详细信息都应传递给表单组件,我应在其中从参数中获取这些字段的默认值。我不知道如何实现这个。。。有人能提出解决办法吗 ----------inside table component------------------ edit_row(id){ // alert("deleting row " + id); var d_fname = this.users[id].fname; var d
----------inside table component------------------
edit_row(id){
// alert("deleting row " + id);
var d_fname = this.users[id].fname;
var d_lname = this.users[id].lname;
var d_tech = this.users[id].tech;
this.$router.push({name: 'form/', params: {d_fname, d_lname, d_tech}});
// this.$router.push({name:'/form1', params:{d_fname, d_lname, d_tech}});
}
----------------inside form component------------------------
<template>
<form id="form">
<h4>Personal Information</h4>
<br />
<input type="text" placeholder="First Name" v-model="fname" />
<p>{{user_info}}</p>
<br />
<input type="text" placeholder="Last Name" v-model="lname" />
<br />
<input type="text" placeholder="Technologies" v-model="tech" />
<br />
<button type="button" value="submit" @click="submit_info()">Submit</button>
</form>
</template>
<script>
export default {
name: "form1",
props:["d_fname", "d_lname", "d_tech"],
data() {
return {
fname: "",
lname: "",
tech: ""
};
}
}
------------表内组件------------------
编辑行(id){
//警报(“删除行”+id);
var d_fname=this.users[id].fname;
var d_lname=this.users[id].lname;
var d_tech=this.users[id].tech;
这个.$router.push({name:'form/',参数:{d_fname,d_lname,d_tech}});
//这是.$router.push({name:'/form1',参数:{d_fname,d_lname,d_tech});
}
----------------内部表单组件------------------------
个人信息
{{user_info}}
提交
导出默认值{
名称:“表格1”,
道具:[“d_fname”、“d_lname”、“d_tech”],
数据(){
返回{
fname:“”,
名称:“,
技术人员:“
};
}
}
您需要将params对象中的参数作为键值传递,还需要在路由声明中将props设置为true
{path: "form/", name:"form", component: FormComponent, props: true}
你应该参考这个