vue 跨组件数据传递,vue传递数组到后端

  vue 跨组件数据传递,vue传递数组到后端

  本文主要介绍vue如何实现跨页投递、接收数组、赋值,有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。

  

目录

  跨页面传递和接收数组并赋值。1.界面A:问题-编辑2。界面B:添加问题数组,为阶梯状凹坑赋值

  

跨页面传递与接收数组并赋值

  为了更好的理解,以自己的项目为例,附上动画效果。您可以看到从第一行数据中选择的一行被分配给另一个接口。为了更好地理解,我将向您介绍每个接口和方法属性的名称:

  兄弟界面跳转:问题-编辑——添加-问题

  

1.界面A:question-edit

  如果你想给这一行的数据赋值,你需要数组,因为它们不是一个数组。把它们打包。首先,第一步是我们的条目在操作的编辑图标上。

  1.编辑图标代码:

  模板槽-范围=“范围”

  El-button @ click= add question(scope . row) type= text size= small icon= El-icon-edit /El-button

  /模板

  在事件中点击addQuestion是一个自定义的接口跳转方法。在确认该行携带的数据添加到模板槽后,将(scope.row)添加到jump方法中。

  2.方法addQuestion

  添加问题(行){

  this.carryCurrentRowCode=row

  这个。$router.push({

  路径:“添加问题”,

  //查询:this.carryCurrentRowCode

  查询:{

  carryCurrentRowCode:this . carryCurrentRowCode

  }

  });

  },

  跳转功能的实现主要是path的功能:‘add-question’。

  关于界面跳转的详细内容,可以了解详细文章:https://www.jb51.net/article/245670.htm

  注意:注释中有一行无法实现,使用下面带括号的一行。

  carrycurrenturocode下面:这个。carrycurrenturocode

  前面一个是接收接口用的接收阵列。我在这里给它们起了相同的名字,但是它们实际上可以前后不同。

  3.carryCurrentRowCod是一组定义

  导出默认值{

  data() {

  返回{

  //点击编辑,携带当前行的参数数组。

  carryCurrentRowCode: {

  问题类型Id: ,

  连续: ,

  questionClassifyId:“”,

  问题内容: ,

  degreeInitial:“”

  },

  }

  数组中的括号是带有的组件的数据。在括号中添加要携带的数据。

  

2.界面B:add-question

  1.接受传递的数组。

  导出默认值{

  data() {

  返回{

  //传递的数组

  carryCurrentRowCode: {}

  };

  2.因为数组一加载到接口中就显示出来,所以钩子函数必须在传递的数组方法中卸载,并将值赋给相应的组件。

  已创建(){

  //从问题编辑界面接收到carryCurrentRowCode数组

  this.carryCurrentRowCode=this。$ route . query . carrycurrentrowcode;

  }

  3.获取传递的数组。专门为组件赋值。举个例子:serial:“”以测试号为例,

  //测试编号

  this . I _ number=this . carrycurrentrowcode . serial;

  将赋值也写入钩子函数。

  解释识别号

  是组件El-输入测试编号v-model=i_number

  注意:

  如果不命名兄弟接收接口,可以减少这个组件的赋值步骤,直接在组件的v模型中等于接收数组点串行。

  

数组赋值踩过的坑

  最近需要完成Vue中的动态赋值数组操作。我们从服务器获取数据后,刷新数组中的数据,却发现无论用什么方法都做不到。通过键入log,我们发现数据在这里无法执行,并且我们没有报告任何异常。最后问题解决了,这里做个记录。

  Vue中的数组赋值和在普通的JS中赋值还是有所区别。

  以下操作会导致界面刷新:推送、弹出、取消移位、移位、反转、排序、拼接。

  以下操作不会导致界面刷新:切片、串联、过滤

  还有一点需要注意:

  不能通过直接赋值或者改变长度来刷新界面。

  (1)直接按指标设置项目。

  (2)修改数组长度,mylist.length=3

  其次,从服务器获取数据后赋值有一个问题需要注意:主客体的变化。

  比如在使用axios对象发起请求后,在返回方法中处理数据需要注意:

  注意,调用axios的then方法中的对象时不能使用这个对象,因为这个对象此时引用的是axios实例,所以vue实例中的数据不能通过这个获取。用一个值指向外界的vue实例对象,并通过这个外部对象赋值,这是正确的。

  var自我;

  已创建:函数(){

  自我=这个;

  },

  mouted:function(){

  axios.create({

  base URL:“URL”,

  超时:10000,

  标头:{ Content-Type : application/JSON }

  }).获取(

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: