Как объявить интерфейс внутри компонента на Ionic 3 - PullRequest
0 голосов
/ 10 сентября 2018

Я пытался выяснить, как я могу создать интерфейс на ionic, а затем объявить наблюдаемое, которое хранит массив объектов внутри моей переменной.У меня проблемы с выяснением того, как передать интерфейс внутри моих компонентов и объявить 2 глобальные переменные

Я пытаюсь передать следующий интерфейс в мой app.component.ts

    interface Usuario{
  nome: string,
  sexo: string,
  cpf: string,
  nascimento: string,
  email:string,
  telefone: string,
  endereço:string,
  login:string,
  senha:string

}

Однако, как только я это делаю, я получаю сообщение об ошибке @Component ({}), в котором говорится, что декораторы недопустимы здесь и внутри класса экспорта MyApp {}.

Вот полный код

import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { HomePage } from '../pages/home/home';
import { AngularFirestore } from 'angularfire2/firestore';
import { AngularFirestoreCollection } from 'angularfire2/firestore';
import { AngularFireDatabase } from 'angularfire2/database';
import { AngularFireAuth } from 'angularfire2/auth';
import { Observable } from 'rxjs/Observable';

@Component({
  templateUrl: 'app.html'
})

interface Usuario{
  nome: string,
  sexo: string,
  cpf: string,
  nascimento: string,
  email:string,
  telefone: string,
  endereço:string,
  login:string,
  senha:string

}



export class MyApp {


  rootPage:any = HomePage;

  usuario: Observable<Usuario[]>;
  usuarioCollectionRef: AngularFirestoreCollection<Usuario>;
  constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {

    platform.ready().then(() => {
      // Okay, so the platform is ready and our plugins are available.
      // Here you can do any higher level native things you might need.
      statusBar.styleDefault();
      splashScreen.hide();
    });
  }

}

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

У меня одна ошибка случилась со мной.Поместите интерфейс перед @Component.Декоратор предназначен для класса, и если вы установите интерфейс, он получит ошибку, потому что Декоратор не может «декорировать» интерфейс.

0 голосов
/ 10 сентября 2018

Вы не можете объявить так, вам нужно использовать экспорт, а затем определение интерфейса.Однако я бы порекомендовал вам иметь отдельный файл модели следующим образом:

export interface Usuario{
  nome: string,
  sexo: string,
  cpf: string,
  nascimento: string,
  email:string,
  telefone: string,
  endereço:string,
  login:string,
  senha:string

}

и импортировать в ваш component.ts как,

import { Usuario } from '../models/Usuario';
...