@GaserV

Почему при ng-click + ng-repeat изменяются значения в каждом репите, а не в текущем?

Подскажите. Почему при ng-click + ng-repeat изменяются значения в каждом репите, а не в текущем? Мне нужно, чтобы например при клике у меня раскрывался только текущий ответ на вопрос, а не везде. И еще такая проблема. Если вопрос один, то он скрыт, а по клику ответ на него раскрывается. Но если два и более то они сразу все открыты... Что это такое? Как исправить? Подскажите пожалуйста. Весь вечер уже туплю сижу...

<section class="content">
	<div class="section-header">
		<div class="section-title">
			Акции<span class="arrow-right"></span><span class="back-link hidden right"><  Назад</span>
		</div>
		<div ng-show="showClients" class="section-btn-create">
			<button class="btn1" onclick="showAddForm()">Добавить</button>
		</div>
	</div>
	<div class="signs">	
		<div ng-repeat="sign in signs" class="sign">	
			<div ng-click="sign.opened = !sign.opened" class="options-title">СКИДКА 20.16%</div>
			<div ng-class='{"sign_opened":sign.opened}' class="signs-content">
				<form ng-submit="updateSign()">
					<input ng-model="formData.title" class="btn1" name="title" type="text" placeholder="{{ sign.title }}"><br>
					<input ng-model="formData.subtitle" class="btn1" name="subtitle" type="text" placeholder="{{ sign.subtitle }}"><br>
					<input ng-model="formData.offdate" class="btn1" name="off-date" type="text" placeholder="{{ sign.odate }}"><br>
					<textarea ng-model="formData.shortdesc" class="btn1" name="short-desc" placeholder="Краткое описание"></textarea><br>
					<textarea ng-model="formData.fulldesc"  class="btn1" name="full-desc" id="" placeholder="Полное описание"></textarea><br>
					<label class="label-input-file" for="preview-image">Превью изображение:</label>
					<input ng-model="formData.previewimage" id="preview-image" class="input-file" name="preview-image" type="file"><br>
					<label class="label-input-file" for="full-image">Полное изображение:</label>
					<input ng-model="formData.fullimage" id="full-image" class="input-file" name="full-image" type="file"><br>
					<label class="label-input-file work-examples">Примеры работ:</label>
					<span ng-click="createField(sdf)" class="add-ico">+</span><br>
					<div ng-repeat="field in sign.fields">
						<label class="label-input-file" for="example-image">Изображение {{ field.id }}</label>
						<input ng-model="formData.exampleimage" id="example-image" class="input-file" name="example-image{{ field.id }}" type="file"><br>	
					</div>
					<input class="submit-input" type="submit" value="Изменить">
				</form>
			</div>
		</div>
	</div>
</section>

$scope.signs = 
	[
		{

			title: "title",
			subtitle: "subtitle",
			stext: "text",
			ftext: "text",
			odate: "23.12.2016",
			fields: [{id: "1"},{id: "2"}]

		}
];

	$scope.createField = function(sdf) {
	    var lastId = sdf.length;
	    var newId = lastId + 1   
	    
	    sdf.push({'fields.id' : newId});
	    console.log(sdf)
	};
  • Вопрос задан
  • 258 просмотров
Пригласить эксперта
Ответы на вопрос 1
@rakro
Вы пушите в массив fields. Выводите его в каждом репите. Один и тот же массив. Какое поведение ожидается? Если вам нужно чтобы массив fields был индивидуален для каждого sign, так поместите его в sign, а не scope.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы