Все, что я хочу сделать, это показать выбранный элемент под списком основных элементов. Я делал это раньше, но по какой-то причине это просто не ведет себя, и я не могу понять, чего не хватает.выбранный элемент не отобразится
HTML, (обрезается вниз только в соответствующей части):
<ul>
<li data-ng-repeat="user in users" ng-click="$parent.selectUser($index)" ng-model="$index">
{{user.userName}}
</li>
</ul>
<p>Selected: {{selected.userName}}, #<b>{{$index}}</b></p>
в ЯШ:
(function (app) {
app.controller('UsersController', [ '$scope', function ($scope) {
$scope.selectUser = function ($index) {
$scope.selected = $index;
console.info('selected1=' + $index);
};
$scope.selected = null;
}]);
});
В журнале консоли отображается с индексом выбора, но ничего не происходит в последняя строка html - no selected.userName, no $ index. Я пробовал всевозможные вариации, и ничего не происходит. Что мне не хватает? Заранее спасибо!
(примечание:. Я не уверен, что я использую нг-модель там правильно, либо, но это, кажется, случайно или нет, я могу получить выбранный $ индекс, чтобы показать)
Почему вы используете '$ parent' selectUser. Вы не нуждаетесь в этом, если метод находится на родительском объекте, он будет доступен в области содержимого. – Chandermani
Я думал, что ng-repeat создает изолированную/дочернюю область, и я хотел бы сохранить любые изменения выбора как части родительской области, чтобы затем они были доступны в другом месте. – kl02