У меня есть форма для ответа на сообщения, которые я хочу отображать только тогда, когда isReplyFormOpen
это правда, и каждый раз, когда я нажимаю кнопку ответа, я хочу переключить, отображается ли форма или нет. Как я могу это сделать?
javascript
html
angularjs
ng-show
Liamzebedee
источник
источник
ng-class
:<span ng-click="started=!started" ng-class="started ? 'btn-danger' : 'btn-success' ">
+1. Спасибо :) ♥.В основном я решил это, НЕ устанавливая
isReplyFormOpen
значение при каждом нажатии:источник
ng-init
необходимо?undefined
изначально и!undefined == true
Если на основе щелчка здесь, это:
источник
Стоит отметить, что если у вас есть кнопка в контроллере A и элемент, который вы хотите отобразить в контроллере B, вам может потребоваться использовать точечную нотацию для доступа к переменной области видимости между контроллерами.
Например, это не сработает:
Чтобы решить эту проблему, создайте глобальную переменную (например, в контроллере A или вашем основном контроллере):
Затем добавьте к вашему клику префикс «global» и покажите переменные:
Для получения дополнительных сведений ознакомьтесь с вложенными состояниями и вложенными представлениями в документации по Angular-UI , посмотрите видео или прочтите области понимания .
источник
Вот пример использования директив ngclick & ng-if.
Примечание : ng-if удаляет элемент из DOM, а ng-hide просто скрывает отображение элемента.
источник
Если у вас есть несколько меню с подменю, вы можете использовать следующее решение.
HTML
Сначала я вызвал две функции: ng-click = hasSubMenu ('dashboard'). Эта функция будет использоваться для переключения меню, и это объясняется в приведенном ниже коде. Ng-class = "{active: isActive ('/ customerCare / transaction')} добавит активный класс в текущий пункт меню.
Теперь я определил несколько функций в своем приложении:
Сначала добавьте зависимость $ rootScope, которая используется для объявления переменных и функций. Чтобы узнать больше о $ roootScope, перейдите по ссылке: https://docs.angularjs.org/api/ng/service/ $ rootScope
Вот мой файл приложения:
Вышеупомянутая функция используется для добавления активного класса к текущему пункту меню.
По умолчанию $ rootScope.showDash и $ rootScope.showCC имеют значение false. Это закроет меню при первоначальной загрузке страницы. Если у вас более двух подменю, добавьте соответственно.
Функция hasSubMenu () будет работать для переключения между меню. Я добавил небольшое условие
оно останется открытым подменю после перезагрузки страницы в соответствии с выбранным пунктом меню.
Я определил свои страницы как:
Вы можете использовать функцию isActive (), только если у вас есть одно меню без подменю. Вы можете изменить код в соответствии с вашими требованиями. Надеюсь, это поможет. Хорошего дня :)
источник