У меня есть форма, и я отображение сообщений об ошибках в ней с ng-show
так:Ионных - родная Диалоги
<div class="errors">
<p ng-show="errorMessage" ng-class="error">{{ errorMessage }}</p>
</div>
Я посылаю сообщение об ошибке образует контроллер, как это:
$scope.login = function(form) {
if (!form.$valid) {
return;
}
var credentials = {
phone: $scope.loginData.phone,
password: $scope.loginData.password
};
$auth.login(credentials).then(function(response) {
UserService.set(response.data.user);
$ionicHistory.nextViewOptions({
disableBack: true
});
$state.go('main.front');
}, function(error) {
navigator.notification.alert("Feil brukernavn eller passord.");
});
}
Я хотел бы вместо отображения на странице ошибки, отображаемой с предупреждением об обнаружении собственных устройств. Но я получаю ошибку:
ionic.bundle.js:26794 TypeError: Cannot read property 'alert' of undefined
Обновленный код:
function(error) {
console.log('error');
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
navigator.notification.alert(
"Feil brukernavn eller passord.", // the message
function() {}, // a callback
"Title", // a title
"OK" // the button text
);
}
});
Я обновил код, как это, и когда я проверить его с ионным служить в браузере, я не получаю больше любого ошибки, но предупреждения не появляется. я сделал cordova platform ls
в терминале, и я получаю:
cordova-plugin-dialogs 1.2.1 "Notification"
cordova-plugin-whitelist 1.2.2 "Whitelist"
Изменено код 2
Как было предложено, он работает на эмуляторах, когда я, например, ионными эмулировать ИОС, но до сих пор не работает в браузер, когда я ионный служу:
$scope.login = function(form) {
if (!form.$valid) {
return;
}
var credentials = {
phone: $scope.loginData.phone,
password: $scope.loginData.password
};
$auth.login(credentials).then(function(response) {
UserService.set(response.data.user);
$ionicHistory.nextViewOptions({
disableBack: true
});
$state.go('main.front');
}, function(error) {
console.log('error');
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
if (navigator.notification && navigator.notification.alert) {
navigator.notification.alert(
"Feil brukernavn eller passord.", // the message
function() {}, // a callback
"Title", // a title
"OK" // the button text
);
} else {
alert("Feil brukernavn eller passord.");
// callbackFunction(); if you need one
}
}
});
}
Не выполняйте функцию eventecener deviceready внутри вашей функции обратного вызова – devqon
Не могли бы вы показать, как должен выглядеть код? – Marco
вы можете отображать оповещения с помощью $ ionicPopup.alert ({...}) -> [docs] (http://ionicframework.com/docs/api/service/$ionicPopup) – matt93