Ich finde die AngularJS-Tutorials schwer zu verstehen. Dieser führt mich durch die Erstellung einer App, in der Telefone angezeigt werden. Ich bin in Schritt 5 und dachte, ich würde als Experiment versuchen, Benutzern zu ermöglichen, anzugeben, wie viele sie angezeigt werden möchten. Die Ansicht sieht folgendermaßen aus:
<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>
Ich habe diese Zeile hinzugefügt, in der Benutzer eingeben können, wie viele Ergebnisse angezeigt werden sollen:
How Many: <input ng-model="quantity">
Hier ist mein 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;
}
Die wichtige Zeile lautet:
$scope.phones = data.splice(0, 'quantity');
Ich kann eine Zahl fest codieren, um darzustellen, wie viele Telefone angezeigt werden sollen. Wenn ich einsetze 5
, werden 5 angezeigt. Ich möchte nur die Nummer in dieser Eingabe aus der Ansicht lesen und in die data.splice
Zeile einfügen. Ich habe es mit und ohne Anführungszeichen versucht und keine Arbeit. Wie mache ich das?