mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
docs(bidi): add initial guide (#5474)
This commit is contained in:
committed by
Jeremy Elbourn
parent
c479faad6c
commit
bb316cb0e4
@@ -0,0 +1,35 @@
|
||||
# Angular Material bi-directionality
|
||||
|
||||
### Setting a text-direction for your application
|
||||
The [`dir` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
|
||||
is typically applied to `<html>` or `<body>` element of a page. However, it can be used on any
|
||||
element to apply a text-direction to a smaller subset of the page.
|
||||
|
||||
All Angular Material components automatically reflect the LTR/RTL direction
|
||||
of their container.
|
||||
|
||||
### Reading the text-direction in your own components
|
||||
`@angular/cdk` provides a `Directionality` injectable that can be used by any component
|
||||
in your application. To consume this injectable, you must import `BidiModule`
|
||||
from `@angular/cdk`.
|
||||
|
||||
`Directionality` provides two useful properties:
|
||||
* `value`: the current text direction, either `'ltr'` or `'rtl'`.
|
||||
* `change`: an `Observable` that emits whenever the text-direction changes. Note that this only
|
||||
captures changes from `dir` attributes _inside the Angular application context_. It will not
|
||||
emit for changes to `dir` on `<html>` and `<body>`, as these are assumed to be static.
|
||||
|
||||
#### Example
|
||||
```ts
|
||||
@Component({ /* ... */})
|
||||
export class MyCustomComponent {
|
||||
private dir: Direction;
|
||||
|
||||
constructor(directionality: Directionality) {
|
||||
this.dir = directionality.value;
|
||||
directionality.change.subscribe(() => {
|
||||
this.dir = directionality.value;
|
||||
});
|
||||
}
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user