v-model双向绑定
5.20
1.变更方法(触发响应式的方法):
push()pop()shift()unshift()splice()sort()reverse()
使用这些方法对数组进行操作,会使页面更新。
变更方法会==改变原始数组==
2.替换数组:
替换数组会返回一个新的数组,如(filter()、concat() 和 slice())
3.由于 JavaScript 的限制,Vue 不能检测数组和对象的变化:
==待补充==
补充:
在vue中,有时候你修改了数组的某一项值或索引时,视图并未如你想的那样发生变化,虽然你修改了数组但是视图上显示的还是未修改时的值。
1 | //由于 JavaScript 的限制,Vue 不能检测以下变动的数组: |
官方的解决方案:
1 | // Vue.set |
基本解决办法是: this.$set(obj, ‘a’, ‘xxx’)
如果是在watch中,观察变量值val的话,就是 val: {handler: ()=>{xxx}, deep: true }
通过设置deep:true的方式
4.v-for可以接受整数:
比如:
1 | <span v-for="n in 10">{{n}}</span> |
5.filter()函数:
1 | const nums = [10,20,111,222,333,444]; |
上述例子就是过滤掉小于100的数字,filter过滤返回的是一个新的数组,不会对旧的数组有所改动。
其中具体的过滤方法就是将nums中的数据传入filter中,将其赋值给n,如果n 不满足返回条件,返回一个false,那么n就不会被加入到新的数组里,反之,就可以加到新的数组里面。
6.map()函数:
1 | //let new2Nums = newNums.map(function(n){ |
上述例子中,map的作用是遍历,将newnums中的值,一个个的传入赋值给n,然后进行×2的操作。
7.reduce()函数:
1 | //ler new3Nums = newNums.reduce(function(preValue,n){ |
上述例子中,reduce(参数1,参数2)其中参数1是一个function(前一个return值,传入数组的值),其中参数2是预设的初值,因为第一次prevalue是没有前一次的返回值的,所以就需要对其设置一个初值,之后每次的return值,都会赋值给prevalue,也就是本例中的(prevalue = prevalue + n;)
8.v-model指令实例:
v-model绑定的是value值。
单选框
1 |
|
上述例子实现双向绑定sex
复选框
1 |
|

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 一叶凉夏!






