mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
Ivy definition looks something like this:
```
class MyService {
static ngInjectableDef = defineInjectable({
…
});
}
```
Here the argument to `defineInjectable` is well known public contract which needs
to be honored in backward compatible way between versions. The type of the
return value of `defineInjectable` on the other hand is private and can change
shape drastically between versions without effecting backwards compatibility of
libraries publish to NPM. To our users it is effectively an `OpaqueToken`.
By prefixing the type with `ɵ` we are communicating the the outside world that
the value is not public API and is subject to change without backward compatibility.
PR Close #23371
|
||
|---|---|---|
| .. | ||
| element.ts | ||
| entrypoint.ts | ||
| errors.ts | ||
| index.ts | ||
| ng_content.ts | ||
| ng_module.ts | ||
| provider.ts | ||
| pure_expression.ts | ||
| query.ts | ||
| refs.ts | ||
| services.ts | ||
| text.ts | ||
| types.ts | ||
| util.ts | ||
| view.ts | ||
| view_attach.ts | ||