Сгенерированная кодом закладка, приводящая к ошибке - Ionic 3 - PullRequest
0 голосов
/ 24 марта 2019

Я пытаюсь сделать алфавитную закладку.Есть символы от A до Z, которые должны направлять пользователя к первому элементу с идентификатором этой буквы.Работает на пару секунд.Я имею в виду, что когда я щелкаю по нему, я вижу первый элемент с выбранной буквой, но сразу после того, как получаю эту ошибку:

Runtime Error: Uncaught (in promise): invalid views to insert
c@http://localhost:8100/build/polyfills.js:3:19752
u/<@http://localhost:8100/build/polyfills.js:3:19174
NavControllerBase.prototype._fireError@http://localhost:8100/build/vendor.js:53343:13
NavControllerBase.prototype._failed@http://localhost:8100/build/vendor.js:53336:9
NavControllerBase.prototype._nextTrns/<@http://localhost:8100/build/vendor.js:53383:53
F</l</t.prototype.invoke@http://localhost:8100/build/polyfills.js:3:14974
onInvoke@http://localhost:8100/build/vendor.js:5396:24
F</l</t.prototype.invoke@http://localhost:8100/build/polyfills.js:3:14901
F</c</r.prototype.run@http://localhost:8100/build/polyfills.js:3:10124
f/<@http://localhost:8100/build/polyfills.js:3:20240
F</l</t.prototype.invokeTask@http://localhost:8100/build/polyfills.js:3:15649
onInvokeTask@http://localhost:8100/build/vendor.js:5387:24
F</l</t.prototype.invokeTask@http://localhost:8100/build/polyfills.js:3:15562
F</c</r.prototype.runTask@http://localhost:8100/build/polyfills.js:3:10815
o@http://localhost:8100/build/polyfills.js:3:7887
F</h</e.invokeTask@http://localhost:8100/build/polyfills.js:3:16823
p@http://localhost:8100/build/polyfills.js:2:27646
v@http://localhost:8100/build/polyfills.js:2:2789

Я пытался его погуглить, но не смогнайдите его.

Html:

<ion-header>
        <ion-navbar>
          <button ion-button menuToggle>
            <ion-icon name="menu"></ion-icon>
          </button>
        </ion-navbar>
      </ion-header>

      <ion-content padding>
        <ion-list>
          <ion-item *ngFor="let a of alf">
           <a href="#{{a}}"> {{a}} </a>

          </ion-item>
        </ion-list>
          <ion-list>
              <ion-item *ngFor="let i of players">
                <button block (click)="showToast(i.player)" style="text-align:start;" id="{{i.player.slice(0,1)}}" >

                        <img src="{{i.logo}}" width="30%" height="100%" style="display: inline"  />

                <p  style="display: inline"> {{i.player}}</p>

                </button>
              </ion-item>
          </ion-list>

      </ion-content>

Оба списка печатаются нормально, и когда я проверяю код, я вижу, что якоря соответствуют моим ожиданиям, а кнопки с идентификатором.= "letter".

Компонент:

    import { Component } from "@angular/core";
    import { PlayersService } from "./players-service";
    import { Players } from "./players";
    import { ToastController } from "ionic-angular";

    @Component({
    selector: 'page-player',
    templateUrl: 'players.html'
      })
    export class PlayersPage{

    players : Players[];

    alf : String[];

    ngOnInit() : void{
        this.listar();
        this.alfabeto();
        let teste = this.teste("Banana");
        this.showToast("Funcionando " + teste);
    }

    constructor(private service : PlayersService, private toastCtrl : ToastController){

    }

    listar(){
        this.service.findAll().subscribe(res=>{
            this.players= res;
        });
    }

      showToast(data : string) : void{
    let toast = this.toastCtrl.create({
    message : data,
    duration : 5000,
    position: 'bottom'
    });
    toast.present(toast);
    }

    alfabeto(){
        this.alf = ['2','A','B','C','D','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','X','Y','Z'];
    }

    teste(player : string) : String{
        console.log(player);
        let a = player.slice(0,1);
        return a;
    }

}

"alfabeto ()" - это функция, заполняющая массив букв.teste () разрезает имя элемента до последней буквы.Я не могу показать список закладок, потому что он не мой, но кроме букв y и b, есть один элемент в нижнем регистре (я исправлю его последним), все остальные в верхнем регистре.У вас есть какие-нибудь подсказки, почему это не работает?

...