So verwende ich ionische, um eine Hybrid-App zu bauen. Nur um klar zu sein, das funktioniert einwandfrei mit Android!Warum ist der Bereich nicht definiert in eckigen
Hier ist meine Login html:
.state('login', {
url: '/login',
templateUrl: 'templates/login.html',
controller: 'LoginCtrl'
})
und wenn ich Zugriff zum Beispiel $scope.email
:
<body ng-app="starter">
<head>
<script src="phonegap.js"></script>
</head>
<ion-header-bar align-title="center" class="bar-positive" ng-controller="BackBtnCtrl">
<button class="button" ng-click="goBack()"><<</button>
<h1 class="title">Push Notifications</h1>
</ion-header-bar>
<ion-content>
<div class="list">
<form style="display: block; margin: 100px">
<label class="item item-input">
<input type="text" ng-model="name" placeholder="Name">
</label>
<label class="item item-input">
<input type="password" ng-model="password" placeholder="Password" style="text-align: center">
</label>
<label class="item item-input">
<input type="email" ng-model="email" placeholder="Email" style="text-align: center">
</label>
<label class="item item-input">
<input type="text" ng-model="company" placeholder="Company Name" style="text-align: center">
</label>
<button class="button button-block button-positive" type="submit" ng-click="doLogin()">Register</button>
</form>
</div>
</ion-content>
</body>
Nun meine app.js
in ich den Regler für den Ionengehalt als erklären In der Android-App wird es korrekt zurückgegeben. Aber wenn ich auf $scope.email
in der iOS App zugreife, werde ich undefiniert. Hat jemand jemals von diesem Problem gehört?
Controller:
.controller('LoginCtrl', function($scope, $rootScope, $http, $state, $ionicPlatform) {
if(window.localStorage.getItem("loggedIn") == undefined || window.localStorage.getItem("loggedIn") == null) {
// This function only gets called when the register button gets hit. It posts to the server to store the users registration data
$scope.doLogin = function() {
if ($scope.name == undefined || $scope.password == undefined|| $scope.email == undefined|| $scope.company == undefined) {
window.plugins.toast.showWithOptions(
{
message: 'Please Fill in ALL Fields',
duration: 'long',
position: 'middle'
});
alert($scope.email);
alert("returning");
return;
}
alert($scope.email);
Was ist diese Regel? und $ scope.email sollte der vom Benutzer eingegebene Text sein, wenn die Anwendung ausgeführt wird. –
Ich habe Code falsch gelesen, da die Funktion nicht geschlossen war und es so schlecht formatiert ist. Wie für dot watch dieses 3-Minuten-Video https://www.youtube.com/watch?v=DTx23w4z6Kc – charlietfl
Ich einfach kopieren und eingefügt von Text-Editor auf die Code-Einfügung hier. Entschuldigung für die Formatierung, die dich beleidigt. Weißt du, warum auf iOS $ scope.email nicht definiert ist, obwohl Text in dem Feld ist? –