Vue和Firebase API中的打字稿错误

时间:2018-07-29 02:09:46

标签: typescript firebase

我无法解决dbsnapshotitem的打字错误:

  

参数“快照”隐式具有“ any”类型。
  参数“ item”隐式具有“ any”类型。

let snapshot: any;item: anysnapshot: any;无法解决问题。

getJobs() {
      return db
        .collection('jobs')
        .where('role.0', '==', this.userId)
        .get()
        .then(snapshot => {
          const jobs: Array<Object> = [];
          const incompleteJobs: Array<Object> = [];
          const completedJobs: Array<Object> = [];
          const evaluatingJobs: Array<Object> = [];
          const managingJobs: Array<Object> = [];
          const canceledJobs: Array<Object> = [];
          snapshot.forEach(item => {
            const job = item.data();

            if (job.status.state === 'completed') {
              completedJobs.push(job);
            } else if (job.status.state === 'canceled') {
              canceledJobs.push(job);
            } else {
              incompleteJobs.push(job);
            }

            if (job.role[0] === this.userId) {
              managingJobs.push(job);
            }

            if (job.role[1] === this.userId) {
              evaluatingJobs.push(job);
            }
          });
          this.incompleteJobs = incompleteJobs;
          this.completedJobs = completedJobs;
          this.evaluatingJobs = evaluatingJobs;
          this.managingJobs = managingJobs;
          this.canceledJobs = canceledJobs;
          Promise.resolve(true);
        });

package.json

  "devDependencies": {
    "@commitlint/cli": "7.0.0",
    "@commitlint/config-conventional": "7.0.1",
    "@google-cloud/firestore": "^0.9.0",
    "@storybook/addon-actions": "4.0.0-alpha.10",
    "@storybook/addon-links": "4.0.0-alpha.10",
    "@storybook/addons": "4.0.0-alpha.10",
    "@storybook/vue": "4.0.0-alpha.10",
    "@types/animejs": "2.0.0",
    "@types/body-parser": "1.17.0",
    "@types/compression": "0.0.36",
    "@types/cookie-parser": "1.4.1",
    "@types/deepmerge": "2.1.0",
    "@types/express": "4.16.0",
    "@types/glob": "5.0.35",
    "@types/html-webpack-plugin": "2.30.3",
    "@types/jest": "23.1.3",
    "@types/js-cookie": "2.1.0",
    "@types/lodash": "4.14.110",
    "@types/marked": "0.4.0",
    "@types/node": "10.5.0",
    "@types/serve-favicon": "2.2.30",
    "@types/storybook__addon-actions": "3.0.3",
    "@types/storybook__vue": "3.3.0",
    "@types/webpack": "4.4.4",
    "@types/webpack-dev-middleware": "2.0.1",
    "@types/webpack-merge": "4.1.3",
    "@types/winston": "2.3.9",
    "@vue/test-utils": "1.0.0-beta.20",
    "autoprefixer": "8.6.4",
    "axios-mock-adapter": "1.15.0",
    "babel-core": "6.26.3",
    "babel-preset-env": "1.7.0",
    "babel-preset-vue": "2.0.2",
    "codecov": "3.0.2",
    "compression-webpack-plugin": "1.1.11",
    "concurrently": "3.6.0",
    "copy-webpack-plugin": "4.5.2",
    "cross-env": "5.2.0",
    "css-loader": "0.28.11",
    "css-mqpacker": "6.0.2",
    "cssnano": "3.10.0",
    "cypress": "^3.0.2",
    "file-loader": "1.1.11",
    "generate-changelog": "1.7.1",
    "glob": "7.1.2",
    "html-webpack-plugin": "3.2.0",
    "husky": "0.14.3",
    "identity-obj-proxy": "3.0.0",
    "jest": "23.2.0",
    "jest-vue-preprocessor": "1.4.0",
    "node-sass": "^4.9.2",
    "plop": "2.0.0",
    "postcss-loader": "2.1.5",
    "react": "16.4.1",
    "react-dom": "16.4.1",
    "rimraf": "2.6.2",
    "sass-loader": "7.0.3",
    "serviceworker-webpack-plugin": "1.0.0-alpha02",
    "start-server-webpack-plugin": "2.2.5",
    "storybook-addon-vue-info": "0.4.3",
    "ts-jest": "22.4.6",
    "ts-loader": "4.4.2",
    "tslint": "5.10.0",
    "typescript": "2.9.2",
    "vue-jest": "2.6.0",
    "vue-loader": "15.2.4",
    "vue-ssr-webpack-plugin": "3.0.0",
    "vue-template-compiler": "2.5.16",
    "webpack": "4.12.2",
    "webpack-bundle-analyzer": "2.13.1",
    "webpack-cli": "3.0.8",
    "webpack-dev-middleware": "3.1.3",
    "webpack-hot-middleware": "2.22.2",
    "webpack-merge": "4.1.3",
    "webpack-node-externals": "1.7.2"
  },

0 个答案:

没有答案