我发现AngularJS 教程很难理解;这个正在引导我构建一个显示电话的应用程序。我在第 5 步,我想作为一个实验,我会尝试让用户指定他们想要显示的数量。视图如下所示:
<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>
我添加了这一行,用户可以在其中输入他们想要显示的结果数:
How Many: <input ng-model="quantity">
这是我的控制器:
function PhoneListCtrl($scope, $http) {
  $http.get('phones/phones.json').success(function(data) {
    $scope.phones = data.splice(0, 'quantity');
  });
  $scope.orderProp = 'age';
  $scope.quantity = 5;
}
重要的一行是:
$scope.phones = data.splice(0, 'quantity');
我可以硬编码一个数字来表示应该显示多少个电话。如果我5输入,将显示 5。我想要做的就是从视图中读取该输入中的数字,并将其放入data.splice行中。我试过带引号和不带引号,但都不起作用。我该怎么做呢?