Posso chiamare l'evento DOM che gestisce un'istanza di pattern osservabile / osservatore

0

Nel seguente esempio di gestione degli eventi DOM (utilizzando jQuery):

$('#shopping-cart').on('click', function(event){...});

non potrei chiamare l'elemento DOM del carrello della spesa l'osservabile e la funzione l'osservatore? Non esiste un evento di clic "generale" a cui si fa riferimento, ma un evento di clic specifico per l'oggetto del carrello degli acquisti stesso.

L'esempio javascript di esempio osservabile / osservatore da cui sto operando è il seguente (tratto da qui ):

// MyFancyObservable.js
var util = require('util');  
var EventEmitter = require('events').EventEmitter;
function MyFancyObservable() {  
  EventEmitter.call(this);
}
util.inherits(MyFancyObservable, EventEmitter);
MyFancyObservable.prototype.hello = function (name) {  
  this.emit('hello', name);
};


var MyFancyObservable = require('MyFancyObservable');  
var observable = new MyFancyObservable();
observable.on('hello', function (name) {  
  console.log(name);
});
observable.hello('john');  

Si noti che nell'esempio MyFancyObservable, on('hello', function) sembra esattamente come la registrazione di un evento DOM.

    
posta Alexander Bird 05.08.2016 - 23:16
fonte

1 risposta

1

La differenza sta nello scopo dell'Evento.

Nell'esempio del Carrello acquisti, l'evento viene attivato in risposta a un'azione dell'utente .

In un Observable, l'evento viene licenziato in risposta a una modifica dello stato.

Sono entrambi esempi di gestione degli eventi? Sì.

Sono entrambi osservatori? No.

    
risposta data 05.08.2016 - 23:31
fonte

Leggi altre domande sui tag