Trovo i tutorial di AngularJS difficili da capire; questo mi sta guidando attraverso la creazione di un'app che visualizza i telefoni. Sono al passaggio 5 e ho pensato che, come esperimento, avrei cercato di consentire agli utenti di specificare quanti vorrebbero essere mostrati. La vista è simile alla seguente:
<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>
Ho aggiunto questa riga in cui gli utenti possono inserire il numero di risultati che vogliono mostrare:
How Many: <input ng-model="quantity">
Ecco il mio controller:
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 linea importante è:
$scope.phones = data.splice(0, 'quantity');
Posso codificare un numero per rappresentare quanti telefoni dovrebbero essere mostrati. Se inserisco 5
, verrà mostrato 5. Tutto quello che voglio fare è leggere il numero in quell'input dalla vista e metterlo in data.splice
riga. Ho provato con e senza virgolette e nessuno dei due ha funzionato. Come faccio a fare questo?