Vue Vuex State 单一状态树

发布于 2025-01-21 19:21:46 字数 1277 浏览 0 评论 0

1. 从 store 实例中读取状态的最简单方法是在 computed 计算属性中返回某个状态

<script>
    const Counter = {
        template:`<div>{{ count }} </div>`
        computed:{
            count(){
                return this.$store.state.count
            }
        }
    }
</script>

2. mapState 辅助函数

使用 mapState 辅助函数帮助我们生成计算属性

<script>
    import { mapState } from 'vuex'
    export default{
        computed: mapState({
            // 箭头函数使代码更简练
            count:state => state.count,
            //传字符串参数 'count' 等同于 'state => state.count'
            countAlias:'count',
            //为了使用‘this’获取局部状态,必须使用常规函数
            countPlusLocalState(state){
                return state.count + this.localCount;
            }
        })
    }
</script>

当映射的计算属性的名称与 state 的子节点名称相同时,我们也可以给 mapState 传一个字符串数组:

<script>
    computed:mapState([
        // 映射 this.count 为 store.state.count
        'count'
    ])
</script>

mapState 函数返回的是一个对象,扩展运算符将它与局部计算属性混合使用:

<script>
    computed:{

        ...mapState({

        })
    }
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

风渺

暂无简介

文章
评论
27 人气
更多

推荐作者

白云不回头

文章 0 评论 0

糖粟与秋泊

文章 0 评论 0

洋豆豆

文章 0 评论 0

泛滥成性

文章 0 评论 0

mb_2YvjCLvt

文章 0 评论 0

夜光

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文