Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

330
Vistas
Cómo declarar correctamente y simplemente un objeto en Angular2

Estoy tratando de declarar un objeto y establecer los valores predeterminados en mi aplicación ionic 2, pero todavía no entiendo muy bien TypeScript y Angular2.

Hice esto:

 @Component({ selector: 'page-weightlevel' , templateUrl: 'weightlevel.html' }) export class WeightlevelPage { name: string; firstNavParam: boolean; data = any; data.shareoptions: ['Facebook', 'Twitter', 'Email']; data.techniqueText: string; data.frequScaleWording: string[]; data.fitnessWording: string[]; data.levelName: string[]; constructor( public navCtrl: NavController, ....

y me sale este error:

 Typescript Error ';' expected. src/pages/weightlevel/weightlevel.ts data.shareoptions: ['Facebook', 'Twitter', 'Email'];

el punto entre data y shareoptions aparentemente no es bienvenido.

¿Cómo puedo hacer esto?

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

La forma de declarar/iniciar un Objeto en Typescript es, como dice el nombre, escribiendo sus datos. Podría optar por any , pero eso simplemente desafía el propósito de TypeScript. Entonces, en su lugar, cree un modelo con las propiedades deseadas y, por lo tanto, declarar un objeto vacío sería:

 data: MyType = <MyType>{};

Lo que está tratando de hacer ahora es asignar datos a su objeto. Para eso, usa =

 ngOnInit() { this.data.shareOptions = ['Facebook', 'Twitter', 'Email'] }

Según lo discutido en los comentarios, naturalmente podría declarar la matriz dentro del Objeto en el componente de esta manera:

 data = <MyType>{shareOptions:['Facebook','Twitter','Email']};

Sin embargo, recuerde que incluso al declarar un tipo, por ejemplo, una interfaz, no existe en tiempo de ejecución. El tipeo es solo para que el compilador lo ayude y le diga cuándo está tratando de asignar valores o propiedades que no existen en su modelo. Por lo tanto, puede anular todos los modelos y su aplicación se ejecutará sin errores.

¡ Pero escriba sus datos y evite usar any !

about 4 years ago · Santiago Trujillo Denunciar

0

en mi experiencia, creé el objeto de la siguiente manera. pero recibí errores cuando ejecuté el script de compilación en angular 5.2. entonces utilicé la segunda forma.

Sentido Contrario:

 data = {};

manera correcta:

 data:any = {};
about 4 years ago · Santiago Trujillo Denunciar

0

En caso de que ya haya una clase modelo creada

 let car = <ICar>{}; car.Name= "Audi"; car.Model = "A4"; car.category = "German";
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda