Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Some Factory in Angular 1
- var somethings = [];
- var service = {
- all: all
- };
- return service;
- function all() {
- return $http
- .get('api/somethings')
- .then(function(response) {
- somethings = parseSomethings(response.data);
- return somethings;
- });
- }
- // Some Controller in Angular 1
- var vm = this;
- vm.somethings = [];
- vm.loading = true;
- loadThings();
- function loadThings() {
- SomeFactory
- .all()
- .then(function(somethings) {
- vm.somethings = somethings;
- })
- .finally(function() {
- vm.loading = false;
- })
- }
- // Some Service in Angular 2
- export class SomeService {
- private _somethings$: Subject<Something[]>;
- private dataStore: {
- somethings: Something[]
- };
- constructor(private http: Http) {}
- get _somethings$() : Observable<Something[]> {
- return this._somethings$.asObservable();
- }
- loadAll() {
- this.http
- .get(`api/somethings`)
- .map(response => response.json())
- .subscribe(
- response => {
- this.dataStore.somethings = parseSomethings(response.data);
- this._somethings$.next(this.dataStore.somethings);
- }
- );
- }
- }
- //Some Component in Angular 2
- export class SomeComponent() {
- constructor(private someService: SomeService) {}
- ngOnInit() {
- this.someService.loadAll();
- this.somethings = this.someService.somethings$;
- }
- }
- create(something: Something) : Observable<Something>{
- return this.http.post(`api/somethings`, JSON.stringify(something))
- .map(response => response.json())
- .do(
- something => {
- this.dataStore.somethings.push(something);
- this._somethings$.next(this.dataStore.somethings); //Notify the subscribers
- }
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement