2020-06-17

getters:{

    returnAgeStu(state){

      return age => state.students.filter(s => s.age > age)

    },

    ageStuLength(state, getters){

      return getters.returnAgeStu.length

    }

  },

在app.vue里{{$store.getters.returnAgeStu(18).length}}则会显示3

{{$store.getters.ageStuLength}}返回的始终为1?与函数作用域有关?


returnAgeStu(state){

      return state.students.filter(s => s.age > 18)

    },

    ageStuLength(state, getters){

      return getters.returnAgeStu.length

    }

在app.vue里{{$store.getters.returnAgeStu(18)}}会显示3个子元素

{{$store.getters.ageStuLength}}返回的为3.

由此可见,当函数传入形参时,ageStuLength(state, getters)已经在函数声明时定义完成,此时,ageStuLength默认指向 returnAgeStu(state){return age => state.students.filter(s => s.age > age) },

这个函数体,故长度为1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。