有可能做这样的事吗? (因为我尝试过,但没有成功):
var mongoose = require('mongoose');
var userSchema = mongoose.Schema({
profilePic : String,
firstName : String,
lastName : String,
dateOfBirth_DateObject : {
type : Date ,
default : Date(1994-03-18)
},
yearOfBirth_Integer : {
type : Number,
default : 0
},
monthOfBirth_Integer : {
type : Number,
default : 0
},
dayOfBirth_Integer : {
type : Number,
default : 0
},
gender_String : String
)};
module.exports = mongoose.model('user', userSchema,'user');
答案 0 :(得分:6)
有点 - 你必须对你的基类的构造函数进行super
调用。只需传递所需的依赖项:
@Injectable()
class A {
constructor(private http: Http){ // <-- Injection in root class
}
foo(){
this.http.get()...
};
}
@Injectable()
class B extends A{
constructor(http: Http) {
super(http);
}
bar() {
this.foo();
}
}
请参阅this discussion,为什么没有办法解决问题。
答案 1 :(得分:0)
这肯定会解决您的问题。
@Injectable()
class A {
constructor(private http: Http){ // <-- Injection in root class
}
foo(http:Http){ //<------receive parameter as Http type
http.get()... //<------this will work for sure.
};
}
import {Http} from '@angular/http';
@Injectable()
class B extends A{
constructor(private http:Http){}
bar() {
this.foo(this.http); //<----- passing this.http as a parameter
}
}