2014-12-16 3 views
0

Я пишу веб-приложение HTML, используя Ionic. При попытке привязать элемент input к переменной $scope, я получаю неопределенное значение.Получение undefined ngModel в Ionic AngularJS

SignupCtrl.js:

angular.module('SUSU.controllers', []) 
.controller('SignupCtrl', 
    function ($scope) { 

     /* Form entries */ 
     $scope.signupForm = { 
      email: "", 
      emailConfirm: "" 
     }; 
}); 

signup.html:

<label class="item item-input"> 
     <input type="email" placeholder="Email" ng-model="signupForm.email"> 
</label> 

app.js:

angular.module('SUSU', ['ionic','SUSU.controllers']) 
.config(function ($stateProvider, $urlRouterProvider) { 
// Set and define states 
$stateProvider 
    .... 
    .state('tabs.signup', { 
     url: '/signup', 
     views: { 
      'login-tab': { 
       templateUrl: 'templates/signup.html', 
       controller: 'SignupCtrl' 
      } 
     } 
    }); 

При отладке я заметил, что значение signupForm.email не определено после вставка текста на ввод электронной почты. Как я могу связать этих двух и что я делаю неправильно?

+0

Вы используете правильный ng-контроллер вокруг этой этикетки? –

+0

Зачем ему это делать? Он интенсифицирует это в декларации о состоянии. – AlienWebguy

+0

controller: RegistrationCtrl как я могу его пропустить. Извините –

ответ

0

Там может быть лучшим способом сделать это, но один из способов добиться того, что вы хотите сделать следующее:

В вашем signup.html добавить нг-изменение к введенному:

<label class="item item-input"> 
    <input type="email" placeholder="Email" ng-model="signupFormEmail" ng-change="updateEmail(signupFormEmail)"> 
</label> 

Затем в контроллере добавить метод $ объем, который будет обновлять ваш signupForm электронной почты собственности:

$scope.updateEmail = function(email){ 
    $scope.signupForm.email = email; 
} 
+0

Ну, это слишком странно ... Добавление функции «updateEmail» и ее отладка привели к неопределенной переменной signupFormEmail. Может, я использую неправильный угловой пакет? Я включаю этот пакет 'Ionic' angularjs:' ' – itaied

+0

Извините, не знаю, что это за проблема. Я делал почти то же самое раньше. Теперь я просматриваю свой код, и он выглядит точно так же. – brybott

1

Ребята, я не могу поверить, что я впустую столько времени, о том, что ... Это вызвало проблему type="email". По какой-то причине это не сработает. Когда я сменил его на type="text", он работал плавно.

Read more

Смежные вопросы