Angular2错误 - 我的登录组件没有提供程序错误

时间:2015-12-10 17:04:14

标签: javascript angular typescript

Angular2没有提供程序错误。

来自浏览器控制台的确切错误消息:" EXCEPTION:没有用户提供商! (登录 - >用户)"。

typescript编译器编译得很好。

模板加载正常。

但浏览器控制台有错误。

另外,您可以使用click和ng-model检查我的模板是否正确。

这是我的代码:

 import {Component, View, Injectable, CORE_DIRECTIVES, FORM_DIRECTIVES} from 'angular2/angular2';
 import {AuthService} from '../../authService';

 @Injectable()
 class User{
    email:string;
    password: string;
 } 

 @Component({
   selector: 'Login',  
 })

 @View({
   templateUrl: '/src/app/components/login/login.html',
   directives: [CORE_DIRECTIVES, FORM_DIRECTIVES],
 })

 @Injectable()
 export class Login {
   authService:AuthService;
   user: User;

   constructor(authService: AuthService, user: User){   
       this.authService = authService;
       this.user = user;
   }

   login = () => {
      console.log("login");
   }
 }
enter code here

这是此组件的模板:

  <section class="container centered">
      <div class="row">
          <div class="well bs-component col-xs-12 col-xs-offset-0 col-sm-12 col-sm-offset-0 col-md-6 col-md-offset-3 col-lg-offset-4 col-lg-4">
              <h3>Log In</h3>

            <form class="padding-top-20" role="form" novalidate> 
                  <div class="form-group">
                      <input class="form-control" type="text" name="email" id="email" placeholder="Email Address" [(ng-model)]="user.userName" required autofocus />
                  </div>

                  <div class="form-group">
                      <input class="form-control" type="password" name="password" id="password" placeholder="Password" [(ng-model)]="user.password" required autofocus />
                  </div>

                  <button class="btn btn-primary btn-wide" type="submit" (click)="login()">Log In</button>

                  <div class="padding-top-20 padding-bottom-20">
                      <a href="/forgotpassword" title="Forgot Password?">Forgot Password?</a>
                  </div>
              </form>
          </div>
      </div>
  </section>

以下是浏览器控制台错误的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:7)

要注册注射剂,请在组件定义中使用:

@Component({
   selector: 'Login',  
   providers: [Login, User]
})