campo de texto que filtra una lista usando ember + ember data

Soy nuevo en el uso de brasa, pero ya estoy familiarizado con él, básicamente siguiendo algunos tutoriales aquí y allá y leyendo los documentos api. Pero los tutoriales no profundizan en temas más complejos.

Estos son los detalles: Ya implementé una página web que muestra una lista de elementos. Los siguientes son extractos de códigos relevantes de diferentes partes de la aplicación.

// the data model, the view and the controller
App.Item = DS.Model.extend({
    name: DS.attr('string')
});
App.ItemsController = Ember.ArrayController.extend();
App.ItemsView = Ember.View.extend({ templateName: 'items' })

// in the router's corresponding route
connectOutlets: function(router) {
    router.get('applicationController').connectOutlet('items', App.Item.find())
}

// in the handlebars template
<ul class="items">
  {{#each content}}
    <li>{{name}}</li>
  {{/each}}
</ul>

Los datos para esta lista se cargan de forma remota a través de datos de brasa (observe elApp.Item.find() llamar en la ruta deconnectOutlet método anterior) y una plantilla de manillar lo muestra y actualiza dinámicamente la lista a medida que cambian los datos. Hasta aquí esta es la brasa básica.

Ahora quiero tener un campo de texto en la parte superior de la lista, y cuando el usuario escribe en este campo de texto, la lista debe actualizarse, filtrando y mostrando solo los elementos con un nombre que coincida con lo que el usuario está escribiendo. La definición real de lo que es un nombre coincidente, es irrelevante para esta pregunta. Pueden ser aquellos nombres que contienen la cadena escrita o que comienzan con ella.

Sé que mi próximo paso es incluir una vista de campo de texto en la parte superior de la lista en la plantilla de manillares:

<div class="search-bar">
    {{view Ember.TextField}}
</div>
<ul class="items">
  {{#each content}}
    <li>{{name}}</li>
  {{/each}}
</ul>

Así que mis preguntas en este punto son las siguientes:

¿Cómo me refiero a este campo de texto en el código javascript para poder adjuntar un detector para detectar cuándo cambia?Y lo que es más importante, ¿qué debo hacer dentro de este detector de eventos para que la lista se filtre?Me gustaría saber cómo lograrlo filtrando los datos cargados localmente, pero también cómo hacerlo cargando los datos de filtrado de forma remota cada vez que el usuario escribe.

Realmente necesito implementar algo un poco más complejo que esto, pero saber cómo hacerlo ayudará.

Respuestas a la pregunta(1)

Su respuesta a la pregunta