菜单

vue.js移动数组地点,同时更新视图的主意,vue.js数组

2019年5月25日 - Ajax

Vue
包蕴壹组观察数组的演进方法,所以它们也将会触发视图更新。这么些艺术如下:

vue.js移动数组地方,同期立异视图的点子,vue.js数组

接纳vue.js v-for绑定若干个选取,要求对选拔进行排序上下运动操作。

图片 1

急需对options里面数组的地点张开置换,平时是这么来写:

假定向前移动三个:

var index = this.options.indexOf(option); //获取当前选项对象在数组里面的索引。
var tempOption = this.options[index-1]; //存储前一个
this.options[index-1] = option;(this.options[index])
this.options[index] = tempOption;

如此真的改动了数组的相继,可是视图却未有更新移动。详见vue官方网站数组的描述.

化解办法之1是改动他的指标,使用vue的set方法:

var index = options.indexOf(option); 
var tempOption = options[index - 1]; 
Vue.set(options, index - 1, options[index]); 
Vue.set(options, index, tempOption); 

上述这篇vue.js移动数组地点,同一时间更新视图的主意正是作者分享给我们的全体内容了,希望能给我们3个参照他事他说加以侦察,也意在我们多多帮助帮客之家。

http://www.bkjia.com/Javascript/1310183.htmlwww.bkjia.comtruehttp://www.bkjia.com/Javascript/1310183.htmlTechArticlevue.js移动数组位置,同时更新视图的方法,vue.js数组
使用vue.js v-for绑定若干个选拔,须求对选用举行排序上下运动操作。
必要对options里面数…

都有哪些效益?动手试验了一下:

<body>
  <div id="app">
   <div>
    push方法:
    <input type="text" v-model="text" @keyup.enter="methodByPush">
    <input type="button" value="测试功能" @click="methodByPush">
    <ul>
     <li v-for="item of items">

     </li>
    </ul>
   </div>
    <div>
    pop方法:
    <input type="button" value="测试功能" @click="methodByPop">
    <ul>
     <li v-for="item of items">

     </li>
    </ul>
   </div>
   <div>
    shift方法:
    <input type="button" value="测试功能" @click="methodByShift">
    <ul>
     <li v-for="item of items">

     </li>
    </ul>
   </div>
    <div>
    unshift方法:
    <input type="text" v-model="text" @keyup.enter="methodByUnshift">
    <input type="button" value="测试功能" @click="methodByUnshift">
    <ul>
     <li v-for="item of items">

     </li>
    </ul>
   </div>
   <div>
    splice方法:
    <input type="button" value="测试功能" @click="methodBySplice">
    <ul>
     <li v-for="item of items">

     </li>
    </ul>
   </div>
   <div>
    sort方法:
    <input type="button" value="测试功能" @click="methodBySort">
    <ul>
     <li v-for="item of items">

     </li>
    </ul>
   </div> 
   <div>
   reverse方法:
    <input type="button" value="测试功能" @click="methodByReverse">
    <ul>
     <li v-for="item of items">

     </li>
    </ul>
   </div>
   result显示的地方:<br>

  </div>


<script>
  var vm = new Vue({
   el: '#app',
   data: {
    items: [],
    text: '',
    result: ''
   },
   methods: {
    methodByPush: function () {
     this.result = this.items.push(this.text)
     this.text = ''
    },
    methodByPop: function () {
     this.result = ''
     this.result = this.items.pop()
    },
    methodByShift: function () {
     this.result = ''
     this.result = this.items.shift()
    },
    methodByUnshift: function () {
     this.result = ''
     this.result = this.items.unshift(this.text)
     this.text = ''
    },
    methodBySplice: function () {
     this.result = ''
     this.result = this.items.splice(2,1,'yovan')
    },
    methodBySort: function () {
     this.result = ''
     this.result = this.items.sort()
    },
    methodByReverse: function () {
     this.result = ''
     this.result = this.items.reverse()
     alert(this.result)
    }
   }
  })
</script>

获得下边包车型大巴定论:

push() 往数组最前边增加3个要素,成功再次来到当前数组的长短

pop() 删除数组的末尾3个成分,成功重返删除成分的值

shift() 删除数组的第三个因素,成功再次来到删除成分的值

unshift() 往数组最前方增加三个因素,成功重回当前数组的尺寸

splice()
有多个参数,第贰个是想要删除的成分的下标(必选),第壹个是想要删除的个数(必选),第伍个是剔除
后想要在原来的地方置沟通的值(可选)

sort() 使数组遵照字符编码默许从小到大排序,成功再次来到排序后的数组

reverse() 将数组倒序,成功再次回到倒序后的数组

新兴意识那么些本该都以javascript本来的措施吧?从前javascript没学好,正好趁本次把这一个措施的用法都给捡回来!

您可能感兴趣的篇章:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图