Cette fois, je vais vous présenter l'utilisation des compteurs en JS. Quelles sont les précautions lors de l'utilisation des compteurs en JS. Voici des cas pratiques, jetons un oeil.
Le coût d'apprentissage d'angular2+ devrait être le plus élevé parmi les trois principaux frameworks. Les tutoriels et les cas sont rares et le processus est plus compliqué. Ici, j'utilise deux cas de compteur et d'acquisition en ligne de données utilisateur et de rendu dans un. liste pour vous aider à obtenir rapidement angulaire2+.
Avant de commencer, j'espère que vous pourrez maîtriser rxjs et dactylographié, sinon vous pourriez avoir du mal à comprendre certaines méthodes d'écriture.
Avant de commencer, vous devez installer @ngrx/store et @ngrx/effects
yarn add @ngrx/store @ngrx/effects
Les versions ngrx/effects et ngrx/store utilisées dans ce tutoriel sont toutes deux 5.2.0.
Parlons d'abord brièvement du processus de développement :
Démarrer -> Écrire le modèle de données-> Écrire action -> et Configurer le module correspondant -> Écrire les services -> Écrire les effets et les configurer dans le module correspondant -> Créer un modèle de données de liaison de composant -> >
Finissons d'abord le contre-cas. Puisqu'il n'y a pas de tâches asynchrones dans ce cas, lesservices et effets peuvent être omis.
Les étapes depuis lacréation du projet jusqu'au lancement de la page initiale ne seront pas abordées ici. Notez que le style nécessite scss. N'utilisez pas non plus cnpm pour installer le package. Utilisez plutôt fil ou npm, afin que les erreurs soient moins susceptibles de se produire plus tard.
ng new your-project --style scss
app/models/num.ts)
export class Num { count: number; constructor(num: number) { this.count = num; } }
action (app/actions/num.ts)
import {Action} from '@ngrx/store'; export enum NumActionType { Add = 'ADD'} export class ADD implements Action { readonly type = NumActionType.Add; //固定写法,必须叫type}
réducteurs (app/redurces/modelNum.ts)
import {Num} from '../models/num'; import {Action} from '@ngrx/store'; import {NumActionType} from '../actions/num'; export const modelNum = (state: Num = new Num(0), action: Action) => { switch (action.type) { case NumActionType.Add: state.count++; return state; default: return state; } };
réducteur (app/app.module.ts)
Partie 4 : Créer des composantsimports: [ BrowserModule, RouterModule.forRoot(routes), StoreModule.forRoot({ modelNum}), //配置redurcer ],
ng g composant model-num
Étape 5 : Modèle de données de liaison de composant (terminez l'étape 6 ensemble)
Componentfichier html :
<p> <input (click)="add()" value="+" type="button"> <p>{{num.count}}</p> <input value="-" type="button"> <br/> <a routerLink="/list">to list demo</a></p>
fichier ts :
import {Component, OnInit} from '@angular/core'; import {Num} from '../models/num'; import {Store} from '@ngrx/store'; import {NumActionType} from '../actions/num';
@Component({ selector: 'app-model-demo', templateUrl: './model-demo.component.html', styleUrls: ['./model-demo.component.scss'] }) export class ModelDemoComponent implements OnInit { constructor(private _store: Store<any>) { this._store.select('modelNum').subscribe(mNum => { //涉及到rxjs。 this.num = mNum; console.log(mNum); }); } public num: Num; public add() { console.log('add'); this._store.dispatch({ //调用dispatch触发添加redurces type: NumActionType.Add }); } ngOnInit() { } }
articles connexes. ! Lecture recommandée :
DOM optimisé pour JavaScriptPropriétés calculées de VueCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!