tutorial started start quick guide getting emberjs ember docs data ember.js ember-cli

ember.js - started - ember startup



En Ember 1.13 y más adelante, ¿qué tecla debería usar con cada uno al iterar sobre una matriz de cadenas? (1)

ACTUALIZACIÓN (18 de junio) En Ember 1.13.2 se utiliza la key="@identity" predeterminada key="@identity" , para evitar que los usuarios tengan que especificar una key= para cada invocación de {{each}} .

@guid y @item están en desuso en favor del nuevo valor predeterminado.

https://github.com/emberjs/ember.js/releases/tag/v1.13.2 https://github.com/emberjs/ember.js/pull/11461

================= Respuesta para Ember 1.13, 1.13.1 =========

Podría usar key="@index" o key="@item" .

Hay algunos valores especiales para key (docs) :

  • @index - El índice del artículo en la matriz.
  • @item - El elemento en la matriz en sí. Esto solo se puede usar para matrices de cadenas o números.
  • @guid - Genera un identificador único para cada objeto (usa Ember.guidFor ).

    {{#each widgetNames key="@index" as |widgetName|}} {{component widgetName removeWidget="removeWidget"}} {{/each}}

En Ember 1.13, el siguiente código genera una advertencia:

{{#each widgetNames as |widgetName|}} {{component widgetName removeWidget="removeWidget"}} {{/each}}

Donde widgetNames es una matriz de cadenas en un controlador principal.

widgetNames: []

En Ember 1.13 ahora recibo esta advertencia:

ADVERTENCIA: Usar {{each}} sin especificar una clave puede llevar a un comportamiento inusual. Por favor, especifique una key que identifique un valor único en cada artículo que se itera. Por ejemplo, {{each model key="@guid" as |item|}} .

Esto sería bastante fácil de corregir en su escenario de modelo típico, pero ¿cómo especifico una clave para una matriz de cadenas?

Editar : esta pregunta maneja una advertencia que ahora obtienes en Ember 1.13 al iterar sobre una matriz de cadenas. Si tocas esta advertencia, no estás buscando explícitamente encontrar el parámetro @index, como el índice de acceso en # cada uno en emberjs . De hecho, la respuesta de Artych muestra otras dos claves posibles de usar que no serían relevantes o estarían presentes en una respuesta al índice de acceso en # cada una de las emberjs, ya que esto es específico del parámetro @index.