Propiedad Ember.js MutableArray lastObject

Ember.js es un marco JavaScript de código abierto utilizado para desarrollar grandes aplicaciones web del lado del cliente que se basa 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 lastObject se usa para recuperar el último objeto de la array.

Sintaxis:

array.lastObject

Valor devuelto: el último 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *