Хорошо, здесь вы идете, ребята.Как заказать элементы в INIT в AngularJS
Я учусь Угловая и задаюсь вопросом, как заказать элементы (массив строк). Я знаю, что есть разные способы использования контроллера и т. Д., Но я только начинаю изучать его с сегодняшнего дня.
Удивительно, есть ли способ заказать по именам? Я знаю, что orderBy может применяться к имени свойства в массиве объектов, если у нас есть, но поместив его в ng-repeat.
Но как достичь этого в моем коде ниже?
EDIT: Мне нужен заказ как при первоначальном отображении при загрузке страницы, так и когда пользователь вводит что-то в текстовое поле при его фильтрации.
<html data-ng-app="">
<head>
<title></title>
</head>
<body data-ng-init="names=['Sita','Ram', 'Amit','Cat','Boushick' ] ">
<input type="text" name="txtName" data-ng-model="typedName" />
<br />
Typed Name is: {{ typedName }}
<br />
Names:
<ul |orderBy:'names' >
<li data-ng-repeat="personName in names | filter:typedName "> {{ personName | uppercase}}
</li>
</ul>
<script src="Scripts/angular.min.js"></script>
</body>
</html>
Вы используете 'ng-Init' неправильно. https://docs.angularjs.org/api/ng/directive/ngInit#!/. как указано в угловой документации, используйте вместо этого контроллер и отсортируйте массив там. – Claies
@Claies: Извините, что это была моя первая работа, чтобы сослаться на это, а затем на googling, но ни один из них не удовлетворил мой сценарий. Я хочу, чтобы это было так, как я спросил. – Learner
Тот факт, что вы хотите его заказать при загрузке страницы, не изменяет тот факт, что вы используете 'ng-Init' неправильно. 'ng-Init' ** не является ** директивой инициализации страницы, несмотря на ее имя. в угловой документации четко указано: «Единственное соответствующее использование ngInit - это для наложения специальных свойств ngRepeat, как показано в демонстрации ниже. Кроме этого случая, вы должны использовать контроллеры вместо ngInit для инициализации значений в области.», ** в красном**. Если у вас возникли проблемы с заказом данных после их инициализации в контроллере, спросите еще раз. :) – Claies