【问题标题】:Data for each is not a function每个数据都不是函数
【发布时间】:2017-11-21 13:29:16
【问题描述】:

我正在使用 Ionic 3 创建一个示例程序,其中我使用 SQLite 来存储数据。我使用了一个常见的插入查询,它将拆分列和值并将这些详细信息存储在数据库中,但是当我尝试运行程序时,它向我显示每个错误数据都不是函数。 我已经使用每个循环来拆分列和值,但我在 Ionic 1 - AngularJS JavaScript 中使用了相同的方法,它可以正常工作。谁能告诉我下面的代码有什么问题?

insert(tblName, data) {
console.log('insert function in db got called: ', data);
this.columns = [];
this.values = [];
data.forEach(function (value, column) {
  this.columns.push(column);
  this.values.push(value);
  console.log('columns', this.columns);
  console.log('values', this.values);
});
console.log('columns: ', this.columns);
console.log('values: ', this.values);
var question = (Array(this.columns.length + 1).join('?,')).slice(0, -1);
return new Promise(resolve => {
  var insertQuery = 'INSERT INTO ' + tblName + ' (' + this.columns.join(', ') + ') VALUES ('  + question + ');';
  console.log('insertQuery: ', insertQuery);
  this.db.executeSql(insertQuery, this.values, (r) => {
    console.log('Inserted... Sucess..', this.values);
    this
      .getRows()
      .then(s => {
        resolve(true)
      });
  }, e => {
    console.log('Inserted Error', e);
    resolve(false);
  })
})  
}

错误部分:

data.forEach(function (value, column) {
  this.columns.push(column);
  this.values.push(value);
  console.log('columns', this.columns);
  console.log('values', this.values);
});

【问题讨论】:

  • 数据是数组吗?
  • 简单,数据不是数组..你不明白

标签: javascript angular typescript ionic3


【解决方案1】:

首先,可能是类型错误,你确定dataArray 吗?如果 true,则继续下一点,否则,您只是在编写错误的 javascript 而不是错误的 ts。

问题是,Typescript 必须知道你在处理什么样的参数。

insert(tblName, data) {
  console.log('insert function in db got called: ', data);

  this.columns = [];
  this.values = [];

  data.forEach(function (value, column) {
    this.columns.push(column);
    this.values.push(value);

    console.log('columns', this.columns);
    console.log('values', this.values);
  });
}

插入方法记录在任何地方? 你能编辑一下吗:

insert(tbName: string, data: any[]) {}

【讨论】:

    猜你喜欢
    • 2011-03-27
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 2018-02-16
    • 2015-08-07
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    相关资源
    最近更新 更多