vue中computed计算属性无法直接进行传参

如果有传参数的需求比如说做数据筛选功能可以使用闭包函数(也叫匿名函数)实现

例如:

在上篇博客vue安装使用最后的成绩表练习中的过滤功能的实现:

  1. <tr v-for="(item,index) in arr" v-if="myfilter(index)">
  2. <td>{{item.username}}</td>
  3. <td>{{item.sex}}</td>
  4. <td>{{item.grade}}</td>
  5. <td>
  6. <a href="#" @click="delClick(index)">删除</a>
  7. </td>
  8. </tr>

computed计算属性:

  1. export default {
  2. name: 'Achievement',
  3. data () {
  4. return {
  5. ...
  6. }
  7. },
  8. methods: {
  9. ...
  10. },
  11. computed: {
  12. myfilter() {
  13. return function(index){
  14. return this.arr[index].username.match(this.name)!==null;
  15. }
  16. }
  17. }
  18. }

即可,这个只是computed计算属性无法直接进行传参的解决笔记其余完整代码在上篇文章。

 

版权声明:本文为liluning原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/liluning/p/10418853.html