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
},
}