Arrays 为什么我的推送方法不能使用离子?
我正在使用ionic 3,当我尝试在mi阵列中推送一个元素时,我遇到了警报控制器的问题。我不知道我的代码有什么问题,我认为我只需要接收参数并推动它来完成操作,但我只是在尝试执行代码时遇到一个大错误 我很抱歉,我知道我的英语很差 代码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
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]