Почему проверка ng запускается дважды при загрузке страницы
Проверка ng подразумевается как логическое значение.Таким образом, он должен быть похож на ng-checked="checkbox_checked"
, и он установит флажок, когда, например, checkbox_checked
равен true
.
Возможно, вы захотите использовать ng-click
, чтобы активировать свою функцию один раз, когда переключательщелкнул.
Или если вы хотите, чтобы что-то происходило при изменении переменной, вы можете использовать $scope.$watch
$scope.$watch('notification_form_data', function() {
if (notification_form_data != $('#notification_form').serialize() & notification_form_data!= undefined)
{
var alertPopup = $ionicPopup.alert({
title: 'vs',
template: 'unsaved data in actions',
button: 'Done'
};
})
Или вы можете добавить ng-model
и использовать ng-change
, что вызоветваша функция, когда модель меняется.Если вы хотите, чтобы оповещение запускалось только при установленном переключателе, вы можете проверить, является ли переменная, используемая в вашем ng-model
, истинной.
<input type="radio" name="tabset" id="tab2" aria-controls="rauchbier"
ng-model="radio_checked"
ng-changed="switch_tabs()">
$scope.radio_checked = false
$scope.switch_tabs = function(){
console.log(notification_form_data);
console.log($('#notification_form').serialize());
if (notification_form_data != $('#notification_form').serialize() && notification_form_data!= undefined && $scope.radio_checked)
{
var alertPopup = $ionicPopup.alert({
title: 'vs',
template: 'unsaved data in actions',
button: 'Done'
});
}