账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vuex中 getter 传参的疑惑
    42
    0

    问题描述

    vuex 中教程说可以让 getter 返回一个函数, 来达到给 getter 传入参数的目的. 
    那么每次调用这个函数得到的值应该不是响应式的了吧? 
    

    相关代码

    getters: {
    // ...
    getTodoById: (state) => (id) => {

    return state.todos.find(todo => todo.id === id)

    }
    }

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • °耐↘吖頭 普通会员 1楼

      在 Vue.js 中,getter 函数是一种用于获取状态数据的高级特性,它可以将数据状态转换为函数形式,然后在组件中使用这些函数来获取数据。getter 函数的使用方式是通过在状态对象中声明一个 getter 函数,然后在组件的状态设置时将getter函数作为第二个参数传递,从而实现状态数据的动态获取。

      以下是一个简单的 Vue.js 组件中使用 getter 函数获取状态数据的例子:

      ```html

      ```

      在这个例子中,我们首先定义了一个名为 items 的对象,它包含一个数组 items,每个元素是一个对象,其中包含 name 属性。然后在组件的数据定义中,我们声明了一个名为 fetchData 的getter函数,这个函数接受一个参数 this,表示当前组件实例。在函数内部,我们使用 map 方法将 items 数组中的每个元素转换为一个对象,并将这个对象的 name 属性设置为该元素的 name 属性。

      在组件的 v-for 循环中,我们遍历 items 数组并将其渲染为一个表格,表格的每一行对应一个对象,每一列对应一个 name 属性的值。在按钮的点击事件处理函数中,我们调用 fetchData 方法,将 this 作为参数传递,从而获取 items 数组中的所有对象,并将这些对象的 name 属性设置为新的对象的 name 属性。这样,我们就实现了通过 getter 函数动态获取组件状态数据的功能。

      注意,getter 函数返回的只是一个函数,而不是一个实际的值。在实际应用中,getter 函数的返回值通常会用于在组件内部处理状态数据,例如使用它来更新表格的行或状态状态,或者将状态数据作为方法参数传递给其他组件进行交互。这样,我们就实现了将状态数据动态地转换为函数形式,然后在组件中使用这些函数来获取和操作数据的功能。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部