Open
Description
Start reading here: #29395 (comment)
import Component from '@ember/component';
import defaultTo from 'lodash/default-to';
export default class Welcome extends Component {
greeting: string = defaultTo(this.greeting, "Hello");
}
Briefly, ember 3.5's Components have properties that are initialised by the base to a value, but Typescript doesn't know about this. Users should be able to squash the error by writing greeting!: string = ...
, or by turning off strictPropertyInitialization, but can't today.
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
kevinbarabash commentedon Jun 30, 2019
I've been experimenting with the idea of adding pragmas for each of the strict flags to enabling/disabling on a per file basis. The thinking was that there would be a new flag that disables strict checking of any type in
.d.ts
files and except for library definitions containing@strict-property-initialization
(or other strict pragmas as needed). I think this could address the general problem of people wanting to use various strict flags with their code but not being able to because they break various libraries.