Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 为什么我的推送方法不能使用离子?_Arrays_Angular_Typescript_Ionic3_Push - Fatal编程技术网

Arrays 为什么我的推送方法不能使用离子?

Arrays 为什么我的推送方法不能使用离子?,arrays,angular,typescript,ionic3,push,Arrays,Angular,Typescript,Ionic3,Push,我正在使用ionic 3,当我尝试在mi阵列中推送一个元素时,我遇到了警报控制器的问题。我不知道我的代码有什么问题,我认为我只需要接收参数并推动它来完成操作,但我只是在尝试执行代码时遇到一个大错误 我很抱歉,我知道我的英语很差 代码 addPregunta() { const prompt = this.alertCtrl.create({ title: "Login", message: "Enter a name for this new album yo

我正在使用ionic 3,当我尝试在mi阵列中推送一个元素时,我遇到了警报控制器的问题。我不知道我的代码有什么问题,我认为我只需要接收参数并推动它来完成操作,但我只是在尝试执行代码时遇到一个大错误

我很抱歉,我知道我的英语很差

代码

  addPregunta() {
    const prompt = this.alertCtrl.create({
      title: "Login",
      message: "Enter a name for this new album you're so keen on adding",
      inputs: [
        {
          name: "title",
          placeholder: "Title"
        }
      ],
      buttons: [
        {
          text: "Cancel",
          handler: data => {
            console.log("Cancel clicked");
          }
        },
        {
          text: "Save",
          handler: data => {
            const preObj = {
              type: "radio",
              label: data.title
            };
            this.preguntas.push(preObj);
            this.changeData(data.title);
            this.mermaidStart();
          }
        }
      ]
    });
    prompt.present();
  }
阵列

preguntas: object[];
错误


定义了数组中的变量,但没有一个数组定义了错误推送


您已将变量声明为数组类型,但未对其进行初始化,因此尝试推入时会失败。

已定义变量como un Array pero no lo已初始化,并出现错误al hacer push


您已将该变量声明为数组类型,但未初始化它,因此在尝试推入时失败。

preguntas:object[]
定义了
preguntas
属性,但未使用值初始化该属性

console.log(this.preguntas)//将未定义
问题出现在
保存
处理程序中:

{
文字:“保存”,
处理程序:数据=>{
常数preObj={
键入:“收音机”,
标签:data.title
};

this.preguntas.push(preObj);//
preguntas:object[];
定义了
preguntas
属性,但未使用值初始化

console.log(this.preguntas)//将未定义
问题出现在
保存
处理程序中:

{
文字:“保存”,
处理程序:数据=>{
常数preObj={
键入:“收音机”,
标签:data.title
};

this.preguntas.push(preObj);//你能分享一下吗error@C_Ogoo好的,我编辑了这个问题。你正在单独显示“ARRAY”
preguntas:object[];
,没有任何上下文。它必须在“code”可以看到它的范围内定义-那么它到底是在哪里定义的?@C_ogo是preguntas:any[],抱歉,我犯了一个错误,但错误是相同的。它被定义到顶部的组件中,就像angular/ionic中的另一个变量一样。@ASASCED,将变量“preguntas”定义为
preguntas:any[]=[]
以便preguntas是一个空数组。如果定义
preguntas:any[]
,preguntas为空。您可以共享error@C_Ogoo好的,我编辑了这个问题。你正在单独显示“ARRAY”
preguntas:object[];
,没有任何上下文。它必须在“code”可以看到它的范围内定义-那么它到底是在哪里定义的?@C_ogo是preguntas:any[],抱歉,我犯了一个错误,但错误是相同的。它被定义到顶部的组件中,就像angular/ionic中的另一个变量一样。@ASASCED,将变量“preguntas”定义为
preguntas:any[]=[]
以便preguntas是一个空数组。如果定义
preguntas:any[]
,preguntas为空非常感谢,这是一个简单的错误,但昨天我不知道发生了什么?(非常感谢,这是一个简单的错误,但昨天我不知道发生了什么?)(
preguntas: object[] = [];
// similar style with your existing code
if(this.preguntas) {
  this.preguntas.push(preObj);
} else {
  this.preguntas = [preObj];
}

// immutable approach
this.preguntas = [...this.preguntas, preObj]