0
舉個例子,我有下面的類:打字稿泛型 - 擴展類
module app.components.base {
export class BaseController<S extends IAppScope, A> {
public data:string;
constructor(public $scope: S, public service: A, public $state: ng.ui.IStateService, public $ionicHistory) {
console.log('Base Controller Loaded!');
console.log($scope);
$scope.vm = this;
}
}
}
然後,我有這個單獨的類:
module app.components.properties {
export class PropertiesController extends base.BaseController<IPropertiesScope, app.services.PropertyService> {
}
}
所以,在我看來,這說的」屬性控制器擴展了基本控制器,因此屬性控制器應具有this.$scope
和this.$scope
應爲IPropertiesScope
,因爲通用類型S
繼承了IPropertiesScope
接口。
但是,$scope
未在我的基類的構造函數中定義。爲什麼這個值是未定義的?