Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

131
Visualizações
Suscripción cambio de propiedad con Aurelia

Tengo una propiedad en mi modelo de vista que quiero escuchar y desencadenar eventos en función de su valor, así:

 class viewModel { constructor() { this.value = '0'; let val = 2; subscribe(this.value, callbackForValue); subscribe(val, callbackForVal); } }

¿Es esta una característica de Aurelia? Si es así, ¿cómo haría para configurar dicha suscripción?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

En algunos complementos, he estado usando DI para obtener la instancia de ObserverLocator del contenedor:

 import {inject} from 'aurelia-dependency-injection'; // or from 'aurelia-framework' import {ObserverLocator} from 'aurelia-binding'; // or from 'aurelia-framework' @inject(ObserverLocator) export class Foo { constructor(observerLocator) { this.observerLocator = observerLocator; } ... }

A continuación, puede hacer algo como esto:

 var subscription = this.observerLocator .getObserver(myObj, 'myPropertyName') .subscribe(myCallback);

Cuando esté listo para deshacerse de la suscripción, invóquela:

 subscription();

Creo que todo esto está sujeto a cambios, pero es algo que podrías usar ahora mismo si lo necesitas.

Más información aquí

Actualización de octubre de 2015

ObserverLocator es la API "bare metal" interna de Aurelia. Ahora hay una API pública para el motor de enlace que podría usarse:

 import {inject} from 'aurelia-dependency-injection'; // or from 'aurelia-framework' import {BindingEngine} from 'aurelia-binding'; // or from 'aurelia-framework' @inject(BindingEngine) export class ViewModel { constructor(bindingEngine) { this.obj = { foo: 'bar' }; // subscribe let subscription = bindingEngine.propertyObserver(this.obj, 'foo') .subscribe((newValue, oldValue) => console.log(newValue)); // unsubscribe subscription.dispose(); } }
over 4 years ago · Santiago Trujillo Relatório

0

El atributo observable tiene menos sobrecarga que enlazar según I kill nerds .

 import {observable} from "aurelia-framework"; export class Example { @observable public description: string; private descriptionChanged(newValue: string, oldValue: string): void { } }
over 4 years ago · Santiago Trujillo Relatório

0

escuchar y desencadenar eventos en función de su valor

Un fragmento de código usando TypeScript, con suerte eso le dará una idea:

 import {bindingMode} from "aurelia-binding"; export class Example{ @bindable public description: string; private descriptionChanged(newValue: string, oldValue: string): void { console.log(newValue, oldValue); } }

El nombre del método debe seguir la convención `${propertyName}Changed`


EDITAR: Eso es exactamente lo que Decade Moon sugirió en el comentario anterior: Suscripción de cambio de propiedad con Aurelia

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda