ng-model似乎没有绑定

时间:2016-10-25 15:25:13

标签: javascript angularjs

我正在尝试使用import { OpaqueToken } from '@angular/core'; export let APP_CONFIG = new OpaqueToken('app.config'); providers: [{ provide: APP_CONFIG, useValue: HERO_DI_CONFIG }] constructor(@Inject(APP_CONFIG) config: AppConfig) { this.title = config.title; } input的值传回控制器。

我已尝试将ng-model设置为ng-model,但是,当登录到控制台时,返回email
我已经查看了这两个来源:

但是,当我使用点符号时,根本没有任何内容记录到控制台。 (甚至不是undefined

我只得到错误:

  

TypeError:无法读取未定义的属性“email”

HTML:

'Email: '

控制器:

<ion-view title="Register" hide-nav-bar="true" nav-transition="none" id="page9">
    <ion-content padding="true" class="manual-ios-statusbar-padding" scroll="false">
        <form id="register-form4" class="list">
            <ion-list id="register-list4">
                <label class="item item-input" id="register-input7">
                    <input type="email" ng-model="reg.email" placeholder="Email">
                </label>
               <label class="item item-input" id="register-input9">
                   <input type="password" ng-model="reg.password" placeholder="Password">
               </label>
           </ion-list>
           <a ui-sref="tabsController.myTrips" id="register-button7" ng-click="register()" class="button button-positive  button-block">Create Account</a>
           <a ui-sref="login" id="register-button8" class="button button-positive  button-block button-clear">Back</a>
           <div ng-show="isError">{{ loginError }}</div>
       </form>
   </ion-content>
</ion-view>

此外,我已经使用了HTML类型(将其更改为.controller('registerCtrl', ['$scope', '$stateParams', "$firebaseAuth", function ($scope, $stateParams, $firebaseAuth) { $scope.register = function() { var email = $scope.reg.email, password = $scope.reg.password; console.log("Email: " + email); console.log("Password: " + password); // ... } }]) ),但仍然遇到相同的错误。

1 个答案:

答案 0 :(得分:1)

我怀疑问题是这样的:

您使用的是$scope.reg.email,但尚未初始化$scope.reg。在你的控制器构造函数中,你需要这样一行:

$scope.reg = {};

如果不这样做,$scope.reg未定义,您就会收到&#34;无法阅读的属性&#39;电子邮件&#39;未定义&#34;错误。