docs: fix spelling errors (#26213)

PR Close #26213
This commit is contained in:
thanhpd 2018-10-03 00:24:36 +07:00 committed by Jason Aden
parent 245b85f72a
commit 4006c9b6e6
9 changed files with 15 additions and 15 deletions

View File

@ -1241,7 +1241,7 @@ Chuck: After reviewing your PR comment I'm still at a loss. See [comment there](
### Non-null type assertion operator
Use the [non-null type assertion operator](guide/template-syntax#non-null-assertion-operator)
to suppress the `Object is possibly 'undefined'` error when it is incovienent to use
to suppress the `Object is possibly 'undefined'` error when it is inconvenient to use
`*ngIf` or when some constraint in the component ensures that the expression is always
non-null when the binding expression is interpolated.
@ -1366,7 +1366,7 @@ for example, the content of annotations (such as a component's template), which
emits to the `.js` file but not to the `.d.ts` file.
This option should be set to `true` if you are using TypeScript's `--outFile` option, because the metadata files
are not valid for this style of TypeScript output. It is not recommeded to use `--outFile` with
are not valid for this style of TypeScript output. It is not recommended to use `--outFile` with
Angular. Use a bundler, such as [webpack](https://webpack.js.org/), instead.
This option can also be set to `true` when using factory summaries because the factory summaries
@ -1461,7 +1461,7 @@ JavaScript with [JSDoc](http://usejsdoc.org/) comments needed by the
### *annotationsAs*
Use this option to modify how the Angular specific annotations are emitted to improve tree-shaking. Non-Angular
annotations and decorators are unnaffected. Default is `static fields`.
annotations and decorators are unaffected. Default is `static fields`.
<style>
td, th {vertical-align: top}

View File

@ -19,7 +19,7 @@ Observables are often compared to promises. Here are some key differences:
### Creation and subscription
* Observables are not executed until a consumer subcribes. The `subscribe()` executes the defined behavior once, and it can be called again. Each subscription has its own computation. Resubscription causes recomputation of values.
* Observables are not executed until a consumer subscribes. The `subscribe()` executes the defined behavior once, and it can be called again. Each subscription has its own computation. Resubscription causes recomputation of values.
<code-example hideCopy>
// declare a publishing operation

View File

@ -149,7 +149,7 @@ By default, the DI framework searches for a provider in the injector hierarchy,
starting at the component's local injector of the component, and if necessary bubbling up
through the injector tree until it reaches the root injector.
* The first injector configured with a provider supplies the the dependency (a service instance or value) to the constructor.
* The first injector configured with a provider supplies the dependency (a service instance or value) to the constructor.
* If no provider is found in the root injector, the DI framework returns null to the constructor.
@ -260,7 +260,7 @@ Using a custom provider allows you to provide a concrete implementation for impl
</code-example>
The `factory` function returns the `localStorage` property that is attached to the browser window object. The `Inject` decorator is a constructor parameter used to specify a custom provider of a dependency. This custom provider can now be overriden during testing with a mock API of `localStorage` instead of interactive with real browser APIs.
The `factory` function returns the `localStorage` property that is attached to the browser window object. The `Inject` decorator is a constructor parameter used to specify a custom provider of a dependency. This custom provider can now be overridden during testing with a mock API of `localStorage` instead of interactive with real browser APIs.
### Modify the provider search with `@Self` and `@SkipSelf`

View File

@ -112,7 +112,7 @@ The `CraigComponent` tries to inject `Base` into its `alex` constructor paramete
Unfortunately, this does'nt work.
Unfortunately, this doesn't work.
The <live-example name="dependency-injection-in-action"></live-example>
confirms that the `alex` parameter is null.
*You cannot inject a parent by its base class.*

View File

@ -254,7 +254,7 @@ The `--prod` _meta-flag_ engages the following optimization features.
The remaining [copy deployment steps](#copy-files) are the same as before.
See [Building and serving Angular apps](guide/build)
for more about about CLI build options and what they do.
for more about CLI build options and what they do.
{@a enable-prod-mode}

View File

@ -84,7 +84,7 @@ The abstraction of the form model promotes simplicity over structure. The templa
## Data flow in forms
When building forms in Angular, it's important to understand how the the framework handles data flowing from the user or from programmatic changes. Reactive and template-driven forms follow two different strategies when handling form input. The data flow examples below begin with the favorite color input field example from above, and they show how changes to favorite color are handled in reactive forms compared to template-driven forms.
When building forms in Angular, it's important to understand how the framework handles data flowing from the user or from programmatic changes. Reactive and template-driven forms follow two different strategies when handling form input. The data flow examples below begin with the favorite color input field example from above, and they show how changes to favorite color are handled in reactive forms compared to template-driven forms.
### Data flow in reactive forms
@ -253,7 +253,7 @@ To learn more about reactive forms, see the following guides:
* [Form Validation](guide/form-validation#reactive-form-validation)
* [Dynamic forms](guide/dynamic-form)
To learn more about tempate-driven forms, see the following guides:
To learn more about template-driven forms, see the following guides:
* [Template-driven Forms](guide/forms)
* [Form Validation](guide/form-validation#template-driven-validation)

View File

@ -936,7 +936,7 @@ setting up such mocking straightforward.
### Mocking philosophy
Angular's HTTP testing library is designed for a pattern of testing wherein
the the app executes code and makes requests first.
the app executes code and makes requests first.
Then a test expects that certain requests have or have not been made,
performs assertions against those requests,

View File

@ -359,7 +359,7 @@ Pluralization categories include (depending on the language):
After the pluralization category, put the default English text in braces (`{}`).
In the example above, the three options are specified according to that pluralization pattern. For
talking about about zero minutes, you use `=0 {just now}`. For one minute, you use `=1 {one minute}`.
talking about zero minutes, you use `=0 {just now}`. For one minute, you use `=1 {one minute}`.
Any unmatched cardinality uses `other {{{minutes}} minutes ago}`. You could choose to add patterns
for two, three, or any other number if the pluralization rules were different. For the example of
"minute", only these three patterns are necessary in English.
@ -542,7 +542,7 @@ This sample file is easy to translate without a special editor or knowledge of F
2. Duplicate the `<source/>` tag, rename it `target`, and then replace its content with the French
greeting. If you were working with a more complex translation, you could use the the information
greeting. If you were working with a more complex translation, you could use the information
and context provided by the source, description, and meaning elements to guide your selection of
the appropriate French translation.

View File

@ -255,7 +255,7 @@ You can combine keyframes with `duration`, `delay`, and `easing` within a single
### Keyframes with a pulsation
Use ketframes to create a pulse effect in your animations by defining styles at specific offset throughout the animation.
Use keyframes to create a pulse effect in your animations by defining styles at specific offset throughout the animation.
Here's an example of using keyframes to create a pulse effect: