Encuentro los tutoriales de AngularJS difíciles de entender; este me está guiando en la construcción de una aplicación que muestra teléfonos. Estoy en el paso 5 y pensé que, como experimento, trataría de permitir a los usuarios especificar cuántos les gustaría que se les mostrara. La vista se ve así:
<body ng-controller="PhoneListCtrl">
<div class="container-fluid">
<div class="row-fluid">
<div class="span2">
<!--Sidebar content-->
Search: <input ng-model="query">
How Many: <input ng-model="quantity">
Sort by:
<select ng-model="orderProp">
<option value="name">Alphabetical</option>
<option value="age">Newest</option>
</select>
</div>
<div class="span10">
<!--Body content-->
<ul class="phones">
<li ng-repeat="phone in phones | filter:query | orderBy:orderProp">
{{phone.name}}
<p>{{phone.snippet}}</p>
</li>
</ul>
</div>
</div>
</div>
</body>
He agregado esta línea donde los usuarios pueden ingresar cuántos resultados desean que se muestren:
How Many: <input ng-model="quantity">
Aquí está mi controlador:
function PhoneListCtrl($scope, $http) {
$http.get('phones/phones.json').success(function(data) {
$scope.phones = data.splice(0, 'quantity');
});
$scope.orderProp = 'age';
$scope.quantity = 5;
}
La línea importante es:
$scope.phones = data.splice(0, 'quantity');
Puedo codificar un número para representar cuántos teléfonos se deben mostrar. Si pongo 5, se mostrarán 5. Todo lo que quiero hacer es leer el número en esa entrada desde la vista, y ponerlo en la data.splicelínea. He intentado con y sin comillas, y tampoco funciona. ¿Cómo hago esto?