[英]ng-model value $scope on controller is “undefined”
在學習Ionic Framework的過程中,我正在學習有關控制器的信息,因此,我為HTML獲得了這個簡單的代碼(以下代碼的上方和下方是ionic生成的代碼,因此我沒有涉及它)
<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();
}
});
})
}())
如您在上面看到的,這是一個基本的登錄表單,我在使用$ scope值的第一個控制器registrar()中遇到ng-model =“ mail”和ng-model =“ word”的問題,該功能轉到我的php文件,那里沒有問題,但是,為了進行測試,我做了控制台打印以查看我的ng-models的值,並且它為我的$ scope.mail值的值拋出了“ exito” firts消息和“ undefined” $ scope.word值的值。
為什么會這樣呢? 我很困惑,因為我的其他控制器工作正常,所以我試圖更改var的值
app = angular.module('starter', ['ionic']);
至
var app = angular.module('starter', []);
但這也給我一個錯誤。 還嘗試聲明一個具有上述值的var app3,但仍然沒有。
希望您能幫上忙,謝謝您的寶貴時間。
我相信您必須在函數之前或函數內部初始化變量
例如
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);
});
}
});
希望有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.