在我对Ionic Framework的研究中,我正在学习控制器,所以,我得到了这个简单的HTML代码(上面和下面的代码是离子生成的代码,所以我没碰到它)
<div ng-controller="controller">
<ion-content>
<img class="indexImg" src="img/saludoIndex.jpg">
<br><br>
<div class="item item-input-inset">
<label class="item-input-wrapper">
<i class="icon ion-at placeholder-icon"></i>
<input type="text" placeholder="Dirección de email" ng-model="mail">
</label>
</div>
<div class="item item-input-inset">
<label class="item-input-wrapper">
<i class="icon ion-locked placeholder-icon"></i>
<input type="text" placeholder="Contraseña" ng-model="word">
</label><br>
</div>
<div class="col text-center">
<br><h4><a>¿Olvidaste tu contraseña?</a></h4><br><br><br><br><br>
<a class="button button-stable button-large" href="templates/Register.html">
<b>Crear una cuenta gratuita</b></a>
</div>
</ion-content>
<ion-footer-bar class="bar-positive tabs">
<a class="tab-item">
<h4 style="color:white;" ng-click="registrar()">INICIAR SESIÓN</h4>
</a>
</ion-footer-bar>
</div>
我的JavaScript
(function (){
var app = angular.module('starter', ['ionic']);
var app2 = angular.module('nuevo', []);
app.controller('controller', function($scope, $http) {
$scope.registrar = function(){
$http.post("http://127.0.0.1:8080/php/Conexion.php",{
correo:$scope.mail, pass:$scope.word,
}).success(function(data){
console.log("exito");
console.log($scope.mail);
});
}
});
app2.controller('registroUsuario', function($scope, $http){
$scope.nuevoUsuario= function(){
$http.post("http://127.0.0.1:8080/php/RegistroUsuario.php",{
tipo:$scope.tipo, cedula:$scope.cedula, nombres:$scope.nombre, apellidos:$scope.apellido, email:$scope.email, pass:$scope.contra, indicativo:$scope.indicativo, numero:$scope.numero,
}).success(function(data){
console.log($scope.cedula);
console.log($scope.nombre);
console.log($scope.apellido);
console.log($scope.email);
console.log($scope.contra);
console.log($scope.indicativo);
console.log($scope.numero);
});
}
});
app.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if(window.StatusBar) {
StatusBar.styleDefault();
}
});
})
}())
如上所示,这是一个基本的登录表单,我在我的第一个控制器注册器()中使用ng-model =“mail”和ng-model =“word”时遇到了麻烦,我的$ scope值,函数转到我的php文件,没有问题,但是,只是为了测试我做了控制台打印,看到我的ng模型的值,它抛出“退出”的第一个消息和“undefined”为我的$ scope.mail的值值,与scope.word值相同。
为什么会这样?我很困惑,因为我的其他控制器工作正常,我试图改变var
的值app = angular.module('starter', ['ionic']);
到
var app = angular.module('starter', []);
但这也给了我一个错误。还尝试使用上面的值声明var app3,但仍然没有。
我希望你能帮我一臂之力,谢谢你的时间。
答案 0 :(得分:0)
我相信你必须在函数之前或函数内部初始化你的变量
e.g
app.controller('controller', function($scope, $http) {
$scope.mail = '';
$scope.word = '';
$scope.registrar = function(){
$http.post("http://127.0.0.1:8080/php/Conexion.php",{
correo:$scope.mail, pass:$scope.word,
}).success(function(data)
{
console.log("exito");
console.log($scope.mail);
});
}
});
希望有所帮助!