Привет Я получил код наблюдения:Input мерцает на нг-если
.container2 {
width: 300px;
height: 50px;
color: white;
background-color: grey;
}
.myClass1 {
color: red;
}
.myClass2 {
color: blue;
}
<!doctype html>
<html ng-app="myApp" ng-controller="myController">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js">
</script>
<script>
angular.module("myApp", []).controller("myController", function($scope) {
});
</script>
</head>
<body>
<div class="container1">
<input ng-if="!isOpen" type="text" placeholder="Text...">
<span ng-if="!isOpen">Text1</span>
<span ng-if="!isOpen">Text2</span>
<span ng-if="isOpen">Text, when container 2 is open</span>
<button class="myClass1" ng-click="isOpen = !isOpen" ng-class="{myClass2: isOpen}">Click here...</button>
</div>
<div class="container2" ng-show="isOpen">Container 2 is open now...</div>
</body>
</html>
Я построил небольшой пример в моем фрагменте кода, который показывает ту же логику, мое решение. Здесь, в фрагменте, он отлично работает (код на самом деле тот же), но в моем реальном решении, когда я нажимаю на кнопку, он скрывает жидкость «Текст 1» и «Текст 2», показывает «Текст при продолжении 2» открыто », но вход немного подошел, а затем он также скрыт. Когда я снова закрыть все элементы показывать и скрывать жидкость ... Открытие, вход мерцает, а затем прячет ... Я стараюсь показать вам с изображением ниже:
- Две иконы мои пролетов «Текст 1» и «Текст 2»
- треугольник моя кнопка
Шаг 1: По умолчанию это закрыто, а три элемента есть, другой нет:
Шаг 2: Я нажимаю на кнопку, она должна скрыть 3 элемента d показывает один текст, но, возможно, 0,5с вход остается там, мерцает и чем шкуры - за 0,5 секунд, это выглядит следующим образом:
Шаг 3: После того, как она мерцает на 0,5с она скрывает и чем его правильно так:
Я надеюсь, что это достаточно ясно. У кого-то есть идея? Спасибо и приветствую.
ВАЖЕН EDIT: Она мерцает при каждом элементе формы, таких как ввод, выберите флажок и т.д. Когда я положил DIV вокруг входа и дать нг-если выражение в DIV, он отлично работает ..
Вы уверены, что у вас нет каких-либо css-переходов на ваших входных тегах? – gaurav5430
Да, это мой css для ввода ниже: input {height: 30px; padding-left: 5px; text-align: left;} - Cheers – MrBuggy
вы можете попытаться воссоздать проблему в скрипке или plunkr? или какой-либо другой рабочий код – gaurav5430