我是打字稿的新手,请帮助我如何在验证功能中获取登录服务。我已经使用此关键字来获取loginservice但它无法正常工作。而且我也对打字稿中的这个关键字感到困惑。
import { Constants } from '../../core/constants';
import { loginService } from './login.service';
import { Component, OnInit } from '@angular/core';
import { FormsModule } from '@angular/forms';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
constructor(private loginservice: loginService) { }
ngOnInit() {
}
login = {
formData: {
username: '',
password: '',
},
resources:{
login_logo: Constants.LOGO_LOGIN,
},
authenticate() {
console.log("service called");
let resultset = loginservice.authenticateUser(this.formData);
}
}
}
答案 0 :(得分:2)
没有太大区别。
let resultset = loginservice...
应该是
let resultset = this.loginservice.
答案 1 :(得分:1)
只需使用this.
关键字来引用类的属性。构造函数中的参数也会自动成为类的属性。就像之前的回答所说的那样,你只需做this.loginservice
答案 2 :(得分:1)
您的代码有几个基本问题。试试这个更新的代码:
import { Constants } from '../../core/constants';
import { loginService } from './login.service';
import { Component, OnInit } from '@angular/core';
import { FormsModule } from '@angular/forms';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
constructor(private loginservice: loginService, private CONSTANTS : Constants) { }
ngOnInit() {
}
formData: any ={
username: '',
password: '',
};
resources: any = {
login_logo: this.CONSTANTS.LOGO_LOGIN,
};
authenticate() {
console.log("service called");
let resultset = this.loginservice.authenticateUser(this.formData);
}
}
答案 3 :(得分:0)
实际上这是指当前的上下文,在你的代码中,你已经在构造函数中导入了登录服务,所以它应该被用作,
authenticate() {
console.log("service called");
let resultset = this.loginservice.authenticateUser(this.formData);
}
答案 4 :(得分:0)
在下面的场景中,this
关键字引用LoginComponent(TypeScript文件)中的属性,例如loginService。
export class LoginComponent implements OnInit {
...
constructor(private loginService: LoginService) { }
ngOnInit() { }
...
public authenticate(): void {
let resultset = this.loginService.authenticateUser(this.formData);
...
}
}