【实用】Angular中如何实现类似Vuex的全局变量状态变化功能?

简介: 【实用】Angular中如何实现类似Vuex的全局变量状态变化功能?

什么是Vuex?

ng g s storage

storage.service.ts

import { Injectable } from '@angular/core';
@Injectable({
  providedIn: 'root'
})
export class StorageService {
  text = '初始值';
  color = 'gray';
}

app.component.html、app.component.css、app.component.ts

<button (click)="storageService.text='全局改变后的值';storageService.color='red'">改变全局变量(文字变红色)</button>
<h1 [attr.color]="storageService.color">{{storageService.text}}</h1>
<app-other></app-other>
 
________________________________________________________________________________
 
[color="gray"] {
    color: gray;
}
[color="red"] {
    color: red;
}
 
________________________________________________________________________________
 
import { Component } from '@angular/core';
import { StorageService } from './services/storage.service';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  constructor(public storageService: StorageService,) {}
}

components/other.component.html、components/other.component.css、components/other.component.ts

<p>其他组件:</p>
<h1 [attr.color]="storageService.color">{{storageService.text}}</h1>
 
________________________________________________________________________________
 
[color="gray"] {
    color: gray;
}
[color="red"] {
    color: red;
}
 
________________________________________________________________________________
 
import { Component } from '@angular/core';
import { StorageService } from '../../services/storage.service';
@Component({
  selector: 'app-other',
  templateUrl: './other.component.html',
  styleUrls: ['./other.component.css']
})
export class OtherComponent {
  constructor(public storageService: StorageService,) {}
}

点击按钮后



相关文章
|
缓存 API 数据库
Angular 服务器端渲染应用的开箱即用的缓存功能问题
Angular 服务器端渲染应用的开箱即用的缓存功能问题
|
JavaScript 前端开发 API
Angular1.4.6框架简单读取数据库信息并渲染完成news新闻文章列表以及detail详情页功能(小试牛刀)
Angular1.4.6框架简单读取数据库信息并渲染完成news新闻文章列表以及detail详情页功能(小试牛刀)
|
JavaScript
angular实现全选,反选,批量删除,删除,全不选,倒序,模糊查找等功能
angular实现全选,反选,批量删除,删除,全不选,倒序,模糊查找等功能
94 0
angular40-angular实现todolist3编辑功能
angular40-angular实现todolist3编辑功能
98 0
angular40-angular实现todolist3编辑功能
给Angular应用增添搜索Search功能
给Angular应用增添搜索Search功能
193 0
给Angular应用增添搜索Search功能
Angular应用里具有back功能的按钮实现
Angular应用里具有back功能的按钮实现
199 0
Angular应用里具有back功能的按钮实现
|
JavaScript Shell API
Angular5.1以及更多可用功能
我们很高兴的宣布Angular5.1版本发布了。这是一个小版本,包含几个小的功能和bug修复。我们也发布了Angular Cli的1.6版本,以及Angular Material的第一个稳定版本。
1345 0
|
19天前
|
缓存 JavaScript 前端开发
Angular 应用打包和部署
Angular 应用打包和部署
55 1
|
2月前
|
应用服务中间件 Java Maven
掌控视图的力量!深入解析 JSF 视图管理,揭秘视图生命周期的秘密,让你的应用更高效!
【8月更文挑战第31天】JavaServer Faces (JSF) 是一种强大的框架,用于管理 Web 应用程序的视图。本文通过具体案例介绍 JSF 视图管理的基础知识,包括创建、管理和销毁视图的过程。首先,在 Eclipse 中创建一个新 JSF 项目,并配置 Maven 依赖。接着,在 `WEB-INF` 目录下配置 `web.xml` 文件,设置 JSF servlet。
36 0