У меня есть следующие нг-повтор

<div ng-repeat="page in pages">
<input type="text" ng-model="page.name"
</div>

Обычно это будет отображать page.name несколько раз для одного и того же имени. Проблема в том, что мои возвращаемые данные находятся в сборе, поэтому я не могу просто использовать свойство name. Подскажите, пожалуйста, как я могу просто показать page.name только один раз.

0
J. Davidson 20 Мар 2014 в 22:43
Если вам нужен только первый элемент из массива, когда некоторые данные возвращаются, вы должны просто извлечь этот фрагмент данных и поместить его в другое свойство в области, к которой вы можете получить доступ. Ng-repeat предназначен для случая использования повторения части DOM для каждого элемента в массиве.
 – 
shaunhusain
20 Мар 2014 в 22:46

1 ответ

Лучший ответ

Я бы все равно сказал, что вам лучше вытащить эти данные в свою собственность, но вот ленивый способ достичь цели:

HTML

<!DOCTYPE html>
<html>
  <head>
    <script data-require="angular.js@*" data-semver="1.2.14" src="http://code.angularjs.org/1.2.14/angular.js"></script>
    <script src="script.js"></script>
  </head>
  <body ng-app="myApp" ng-controller="MyCtrl">
    <input type="text" ng-model="pages[0].name"/>
  </body>
</html>

JS

// Code goes here

angular.module("myApp", []).controller("MyCtrl", function($scope){
  $scope.pages = [{name:"Page1"},{name:"Page2"}];
})

Plunkr: http://plnkr.co/edit/UmRSVek3psKoklxVKBfI?p=preview

0
shaunhusain 20 Мар 2014 в 22:51