ионная ошибка: TypeError: _co.toggleRecoder не является функцией - PullRequest
0 голосов
/ 22 ноября 2018

Я работаю над ионным проектом, где я получаю ошибку

ошибка

ОШИБКА TypeError: _co.toggleRecoder не является функцией

Я помещаю код TypeScript ниже , где я написал логику для функции toggleRecoder ()

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  public items = ['apple' , 'orange'];
  public todos= [];
  public reordertoggle =  false;
  ladder: any;



  constructor(public navCtrl: NavController , public _AlertController : AlertController ) {

  }


 toggleReorder(){
        this.reordertoggle = !this.reordertoggle;
        console.log(this.reordertoggle);
    }


  openTodoAlert(){
    let addTodoAlert = this._AlertController.create({
        title:"Add A todo",
        message:"Enter your todo",
        inputs:[
        {
            type:"text",
            name:"addTodoInput"
        }],
        buttons:[
        {
            text:"Cancel"
          },

          {
              text: 'add',
              handler: (addInput) => {
                  let addInputField;
                  addInputField = addInput.addTodoInput;
                  this.todos.push(addInputField);
                  console.log(this.todos[0]);
                  console.log(this.reordertoggle); 
              }
          }
        ]
    });
      addTodoAlert.present();
      console.log(this.reordertoggle); 
  }




}

Здесьшаблон для добавления списка

<ion-header>
      <ion-navbar>
        <ion-title>
         TODO
        </ion-title>
    <ion-buttons end>
     <button (click)='toggleReorder()' ion-button *ngIf="!reordertoggle">
     Edit 
    </button>
     <button (click)='toggleRecoder()' ion-button *ngIf="reordertoggle">
     Done
    </button>  
      <button ion-button (click)="openTodoAlert()">
          <ion-icon name="add"></ion-icon>
        </button>

    </ion-buttons>    
      </ion-navbar>

    </ion-header>

    <ion-content padding>

      <ion-list [reorder]='reordertoggle' (ionItemReorder)="reorderItems($event)">
        <ion-item-sliding  *ngFor="let todo of todos"> 
        <ion-item> {{todo}} </ion-item>
        <ion-item-options side='right'>
          <button color='danger' ion-button>
             <ion-icon name='trash'></ion-icon>
            </button>

</ion-item-options>
         </ion-item-sliding>
      </ion-list>
    </ion-content>

Когда я нажимаю кнопку "добавить", вызывается toggleRecoder (), но я получаю ошибку

ionic error: TypeError:_co.toggleRecoder не является функцией

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

это выглядит как простая опечатка в этой строке

 <button (click)='toggleRecoder()' ion-button *ngIf="reordertoggle">
     Done
 </button> 

Но в машинописном тексте метод объявлен, как показано ниже -

toggleReorder(){
        this.reordertoggle = !this.reordertoggle;
        console.log(this.reordertoggle);
    }

В файле машинописного текста вы упомянули имя методакак toggleReorder, но здесь вы использовали toggleRecoder в событии click кнопки.Следовательно, он не может найти метод.

0 голосов
/ 22 ноября 2018

Это ошибка опечатки.Компонент содержит функцию «toggleReorder».Вы вызываете 'toggleRecoder' в шаблоне.

...