天天看点

vue getter 内部如何调用其它 getter

vue getter 内部如何调用其它 getter

今天遇到一个很白痴的问题,getter 如何调用其它 getter

问题

如下,我需要在 ​

​DevicePathNameMap​

​​ 中调用同级的另一个 ​

​getter: detailShowingPathArray​

​​,我以为只需要 ​

​this.​

​ 即可,但是这样找不到

getters: {
    // 匹配数字名字 dataName 对应的设备名字 title
    DevicePathNameMap: state => {
        let map = new Map()
        this.getter.detailShowingPathArray.forEach(item => {
        })
        return map
    },
    // nav-left 使用的路径数组
    detailShowingPathArray: state => {
        let tempRouterPath = []
        // 中间其它代码
        return tempRouterPath
    },
}      

正解

其实,只需要在 getter 的参数中添加 getter 即可,可以传递多个 store 的参数: ​

​state​

​​ ​

​getter​

getters: {
    // 匹配数字名字 dataName 对应的设备名字 title
    DevicePathNameMap: (state, getter) => {
        let map = new Map()
        getter.detailShowingPathArray.forEach(item => {
        })
        return map
    },
    // nav-left 使用的路径数组
    detailShowingPathArray: state => {
        let tempRouterPath = []
        // 中间其它代码
        return tempRouterPath
    },
}      

继续阅读