0

我在使用 firebase 的 Vue 应用程序时遇到了问题。我现在已经让快照正常工作,并且正在接收一个我转换为数组的对象。唯一的问题是,当我尝试过滤我得到的对象时,我得到一个“无法读取未定义的属性“indexOf””该函数正常打印出数组,看起来它看起来就像我需要的一样,我只是无法访问它包括。值得一提的是,如果我输入 0,1,2,3 而不是 i 它不会引发错误。

这是我的 Vuex 导出器,带有我的 Firebase 的快照

const users = db.ref('users')

users.on('value', function (snapshot) {
  store.state.lawyers = Object.values(snapshot.val())
  console.log('called')
})
export const store = new Vuex.Store({
  state: {
    lawyers: '',
    selectedLawyerIndex: 1,
    selectedCategory: 'Contracts'
  },
  getters: {
    getLawyers: state => {
      console.log('state ' + state.lawyers)
      return state.lawyers
    },
    getCurrentLawyer: state => {
      return state.lawyers[state.selectedLawyerIndex]
    }
}

以及导致错误的功能:

export default {
  data () {
    return {
      cat: this.$store.getters.getCurrentCategory,
      lawyers: this.$store.getters.getLawyers
    }
  },
  components: {
    appLawyerWidget: LawyerWidget
  },
  methods: {
    filteredLawyers () {
      var arr = []
      console.log(this.lawyers)
      for (var i = 0; i < this.lawyers.length; i++) {
        console.log(JSON.stringify(this.lawyers[i].catarray))
        if (JSON.stringify(this.lawyers[i].catarray).indexOf(this.cat) >= 0) {
          arr.push(i)
        }
      }
      return arr
    }
  }
}

任何指针将不胜感激。谢谢!

4

0 回答 0