当前位置:Gxlcms > JavaScript > vue中v-model动态生成的实例详解

vue中v-model动态生成的实例详解

时间:2021-07-01 10:21:17 帮助过:4人阅读

vue中v-model动态生成的实例详解

前言:

最近在做公司的项目中,有这么一个需求,每一行有一个input和一个select,其中行数是根据服务器返回的json数据动态变化的。那么问题来了,我们要怎样动态生成v-model?

现在项目做完了就整理了一下,直接贴代码了。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="js/vue.js" ></script>
  7. </head>
  8. <body>
  9. <div id="app">
  10. <div class="line" v-for="(item,index) in dataModel">
  11. <input type="text" v-model="dataModel[index].value1" />
  12. <span>{{dataModel[index].value1}}</span>
  13. <button v-bind:data-index="index" v-on:click="submitClick">提交</button>
  14. <input type="text" v-model="dataModel[index].value2" />
  15. <span>{{dataModel[index].value2}}</span>
  16. </div>
  17. </div>
  18. </body>
  19. <script>
  20. var app = new Vue({
  21. el: "#app",
  22. data: {
  23. // 创建一个空的数组
  24. dataModel: []
  25. },
  26. created: function(){
  27. // 这里是动态生成v-model,这个可以放在网络请求成功里面;
  28. var len = 4;
  29. for (var i = 0; i < len; i ++) {
  30. var item = {value1: '',value2: ''};
  31. this.dataModel.push(item);
  32. }
  33. },
  34. methods: {
  35. // 显示v-model里面的数据
  36. submitClick: function(event){
  37. var tag = event.target;
  38. var index = tag.getAttribute('data-index');
  39. alert(this.dataModel[index].value1);
  40. }
  41. }
  42. })
  43. </script>
  44. </html>

效果图:

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

人气教程排行