Ember.js es un marco JavaScript de código abierto que se utiliza para desarrollar grandes aplicaciones web del lado del cliente que se basan en la arquitectura Model-View-Controller (MVC). Ember.js es uno de los marcos de aplicaciones front-end más utilizados. Está hecho para acelerar el desarrollo y aumentar la productividad. Actualmente, es utilizado por una gran cantidad de sitios web, incluidos Square, Discourse, Groupon, Linked In, Live Nation, Twitch y Chipotle.
La propiedad firstObject se usa para recuperar el primer objeto de la array.
Sintaxis:
array.firstObject
Valor de retorno: el primer objeto de la array.
Para ejecutar los siguientes ejemplos, necesitará tener un proyecto de Ember con usted. Para crear uno, primero deberá instalar ember-cli. Escribe el siguiente código en la terminal:
npm install ember-cli
Ahora puede crear el proyecto escribiendo el siguiente código:
ember new <project-name> --lang en
Para iniciar el servidor, escriba:
ember serve
Ejemplo 1: Escriba el siguiente código para generar la ruta para este ejemplo:
ember generate route richest-people
app/routes/richest-people.js
import Route from '@ember/routing/route'; import { sortBy } from '@ember/array'; export default class RichestPeopleRoute extends Route { richestPeople = [ { 'name': 'mukesh ambani', 'net-worth': 90.7 }, { 'name': 'jeff Bezos', 'net-worth': 148.1 }, { 'name': 'Warren Buffet', 'net-worth': 99.3 }, { 'name': 'Bill gates', 'net-worth': 104.7 }, { 'name': 'elon Musk', 'net-worth': 253.4 }, { 'name': 'gautam adani and family', 'net-worth': 115.8 }, { 'name': 'Larry Page', 'net-worth': 93.4 }, { 'name': 'larryEllison', 'net-worth': 103.3 }, { 'name': 'sergeyBrin', 'net-worth': 89.9 }, { 'name': 'bernard Arnault and family', 'net-worth': 157.1 }, ]; firstPerson; lastPerson; idx = 5; randomPerson; num; model() { this.richestPeople = this.richestPeople.sortBy('net-worth'); this.randomPerson = this.richestPeople[this.idx - 1]; return this.richestPeople; } setupController(controller, model) { this._super(controller, model); controller.set('idx', this.idx); controller.set('firstPerson', this.richestPeople.firstObject); controller.set('lastPerson', this.richestPeople.lastObject); controller.set('randomPerson', this.randomPerson); controller.set('richestPeople', this.richestPeople); controller.set('num', this.richestPeople.length); } }
app/controllers/richest-people.js
import Ember from 'ember'; export default Ember.Controller.extend({ actions: { setIdx(n) { this.idx = parseInt(n); this.set('randomPerson', this.richestPeople[this.idx - 1]); } } })
app/template/richest-people.hbs
{{page-title "Richest People"}} <div> <label>Enter Value (1-{{this.num}}):</label> {{input value=this.idx}} </div> <div> <input type="button" id="fetch" value="Fetch" {{action 'setIdx' this.idx}}/> </div> <br> <div>First Person on the List: {{this.firstPerson.name}} ${{this.firstPerson.net-worth}} B </div> <br> <div>Last Person on the List: {{this.lastPerson.name}} ${{this.lastPerson.net-worth}} B </div> <br> <div>Random Person on the List: {{this.randomPerson.name}} ${{this.randomPerson.net-worth}} B </div> {{outlet}}
Salida: Visite localhost:4200/richest-people para ver la salida
Ejemplo 2: Escriba el siguiente código para generar la ruta para este ejemplo:
ember generate route notepad
app/routes/notepad.js
import Route from '@ember/routing/route'; export default class NotepadRoute extends Route { items = []; empty = true; item; firstItem; lastItem; randomItem; num; model() { this.firstItem = this.items.firstObject; this.lastItem = this.items.lastObject; this.num = this.items.length; return this.items; } setupController(controller, model) { this._super(controller, model); controller.set('items', this.items); controller.set('empty', this.empty); controller.set('firstItem', this.firstItem); controller.set('lastItem', this.lastItem); controller.set('randomItem', this.randomItem); controller.set('num', this.num); } }
app/controllers/notepad.js
import Ember from 'ember'; import { pushObject } from '@ember/array'; export default Ember.Controller.extend({ actions: { addItem(item) { this.items.pushObject(item); this.set('empty', false); this.set('firstItem', this.items.firstObject); this.set('lastItem', this.items.lastObject); this.set('num', this.items.length); this.set('randomItem', this.items[ Math.floor(Math.random() * this.num)]); } } })
app/template/notepad.hbs
{{page-title "Notepad"}} <h2>Notepad</h2> <div> <label>Enter Item: </label> {{input value=this.item}} </div> <div> <input type="button" id="add-item" value="Add Item" {{action 'addItem' this.item}}/> </div> <br/><br/> {{#if this.empty}} <div>The list is empty!</div> {{else}} <div> <div>First Item: {{this.firstItem}}</div> <div>Latest Item: {{this.lastItem}}</div> <div>Random Item: {{this.randomItem}}</div> <div>Number of Items: {{this.num}}</div> </div> {{/if}} <br/><br/> {{outlet}}
Salida: Visite localhost:4200/notepad para ver la salida
Referencia: https://api.emberjs.com/ember/4.4/classes/MutableArray/properties
Publicación traducida automáticamente
Artículo escrito por aayushmohansinha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA