vuex中Getter的用法是什么?一文带你了解Getter
Admin 2021-09-07 群英技术资讯 1059 次浏览
这篇文章主要给大家分享vuex中Getter用法的内容,小编觉得挺实用的,因此分享给大家做个参考,感兴趣的朋友可以参考一下,希望大家阅读完这篇文章能有所收获,下面我们一起来学习一下吧。
Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性)。就像计算属性一样,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。
以官网的例子来说明,官网代码如下:

在组件中使用以下代码访问:
this.$store.getters.doneTodosCount
getters中的访问器函数,默认会传递2个参数(state, getters),使用第一个参数state可以访问数据,使用getters参数可以访问访问器中的其它访问器函数。大部分情况下只需要使用第一个参数,定义访问器函数就只写第一个参数即可,就像上面的例子。访问这些访问器属性时,就像是组件中的计算属性一样调用,而不是像函数调用一样。

这是有第二个参数getters时的使用例子,在组件中直接使用下面的代码调用,就像调用计算属性一样。第2个参数系统会默认传递。
this.$store.getters.doneTodos
通过让 getter 返回一个函数,来实现给 getter 传参。因此它的主要作用是传递参数。

在组件中直接访问 this.$store.getters.getTodoById时,返回的是一个函数。然后再进行函数调用的方式传递参数进去,就得到了函数的结果。
在组件的计算属性中,直接使用以下方式,可以很方便的引用getter属性,然后就像调用普通的计算属性一样的使用。

如果你想将一个 getter 属性另取一个名字,使用对象形式:

这些知识点,光看文档有时候会很难理解,手动实践一下,会很容易的消化理解。
getters: {
getProductByid: (state) => (id) =>
{
return state.productList.find(item => item.id === id);
}
}
在使用了namespace的情况下调用:
this.$store.getters['yournamespace/getProductByid'](id);
在未使用namespace的情况下调用:
this.$store.getters.getProductByid(id);
关于vuex的getter用法就介绍到这,上文有对getter用法有很详细的介绍,感兴趣的朋友可以看看,希望能对大家有帮助,想要了解更多大家可以关注群英网络其它相关文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
JavaScript点击按钮修改文本的方法:1、创建一个按钮元素,使用onclick属性绑定点击事件,并设置事件处理函数;2、在事件处理函数中,使用“元素对象.innerHTML="修改后的文本内容";”语句修改元素文本内容即可。
这篇文章主要为大家详细介绍了js+Html实现表格可编辑操作,能动态添加删除行,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
一文教会你解决js数字精度丢失问题 目录 一.关于为什么要解决精度丢失 二.怎么解决js的计算精度丢失问题? 三.toPrecision 特定方法返回四舍五入长度字符串 结语 一.关于为什么要解决精度丢失 可以看下例子,因为js失去精度问题也是常见的问题,正常我们可以四舍五入或者 toFixed保留小数这种去解决 现在遇到问题是我们明知道计算结果是等于0.01的但是最后的结果确实true,如果我们遇到运算问题,小数数值比对问题,那么我们就必须要去解决他,否则也就会出现上者情况,出现逻辑判断出错问题 二.怎么解决js的计算精度丢失问
过滤器的功能是对要显示的数据进行格式化后再显示,其并没有改变原本的数据,只是产生新的对应的数据,下面这篇文章主要给大家介绍了关于Vue中过滤器定义以及使用方法的相关资料,需要的朋友可以参考下
判断方法:1、使用“document.getElementById("id值")”语句根据指定id值获取div元素对象;2、利用if语句判断div是否存在,语法“if (div元素对象){//元素存在}else{//元素不存在}”。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008