Je trouve les didacticiels AngularJS difficiles à comprendre; celui-ci me guide à travers la création d'une application qui affiche les téléphones. Je suis à l' étape 5 et j'ai pensé à titre expérimental que j'essaierais de permettre aux utilisateurs de spécifier combien ils aimeraient voir apparaître. La vue ressemble à ceci:
<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>
J'ai ajouté cette ligne où les utilisateurs peuvent entrer le nombre de résultats qu'ils souhaitent afficher:
How Many: <input ng-model="quantity">
Voici mon contrôleur:
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 ligne importante est:
$scope.phones = data.splice(0, 'quantity');
Je peux coder en dur un nombre pour représenter le nombre de téléphones à afficher. Si je mets 5
, 5 seront affichés. Tout ce que je veux faire, c'est lire le numéro de cette entrée dans la vue et le mettre dans la data.splice
ligne. J'ai essayé avec et sans guillemets, et aucun travail. Comment puis-je faire cela?