Comments (3)
@splincode need your opinion here. I will add this feature asap after you tell that we really need this.
from emitter.
Before NGXS concept
export class AddAnimal {
static readonly type = '[Zoo] Add Animal';
constructor(public name: string) {}
}
import { State } from '@ngxs/store';
@State<string[]>({
name: 'animals',
defaults: []
})
export class AnimalsState {
@Action(AddAnimal)
public add(ctx, action) {
ctx.setState([...ctx.getState(), action.payload]);
}
}
import { Store } from '@ngxs/store';
import { AddAnimal } from './animal.actions';
@Component({ ... })
export class ZooComponent {
constructor(private store: Store) {}
addAnimal() {
this.store.dispatch([
new AddAnimal('Panda'),
new AddAnimal('Zebra')
]);
}
}
After NGXS Labs concept
import { State } from '@ngxs/store';
@State<string[]>({
name: 'animals',
defaults: []
})
export class AnimalsState {
@Reciver()
public addAnimal(ctx, action) {
ctx.setState([...ctx.getState(), action.payload]);
}
}
import { Store } from '@ngxs/store';
import { AddAnimal } from './animal.actions';
@Component({ ... })
export class ZooComponent {
@Emitter(AnimalsState.addAnimal)
public animalValue: Emittable<string>;
addAnimal() {
this.animalValue.compose(
emit('Panda', { type: 'Panda description' }),
emit('Zebra', { type: 'Zebra description' })
);
}
}
action AnimalsState.addAnimal [Panda description] @ 15:52:20.922
action AnimalsState.addAnimal [Zebra description] @ 15:52:20.922
from emitter.
not actually needed
from emitter.
Related Issues (20)
- Add EmitterService
- Good Emitter Hygiene? HOT 5
- Multiple emits from actions$ observable has inconsistent behavior HOT 4
- API 2.0
- Emit action inside an action listener (with ofEmittableXXX) cancel others listeners HOT 4
- Emitter plugin not working properly with the latest NgXS/Store version HOT 4
- Support TypeScript 3.3+
- Support ngxs 3.4.x HOT 3
- Routing doubt / Integration with NgxsRouterPlugin? HOT 3
- SKIPPING OPTIONAL DEPENDENCY
- Emit Action via EmitterService [Feature request] HOT 1
- The id is not given to UMD package. HOT 2
- Support multiple receiver decorators on one static method
- Angular 9 dependency injection issue HOT 3
- error TS2345: Argument of type (boolean,number etc) is not assignable to parameter of type 'void' HOT 4
- Angular 9 (ivy) - ReferenceError: EmitterAction is not defined HOT 3
- EmitterService - Issue Sending Payload HOT 1
- Emitter TESTING Angular 10 Dependency Deprecated
- Angular 15 issue
- Add support to infer receiver payload types HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from emitter.