【问题标题】:How to signal a custom attribute in Aurelia?如何在 Aurelia 中发出自定义属性信号?
【发布时间】:2018-07-23 05:04:05
【问题描述】:

对于绑定,我可以使用signal 以防值被外部更新。自定义属性怎么样?

我有以下data-language 自定义属性:

import { customAttribute, autoinject } from 'aurelia-framework';
import { LanguageService } from "./language";

@autoinject
@customAttribute("data-language")
export class LanguageCustomAttribute {

    private value: string;

    constructor(
        private element: Element,
        private languageService: LanguageService) { }

    public bind() {
        var e = $(this.element);
        e.html(this.languageService.getText(e.attr("data-language")));
    }

}

这个自定义属性是使用全局注册的

  aurelia.use
      .standardConfiguration()
      .globalResources("./components/language/data-language");

现在假设用户可以在运行时更改语言(this.languageService.getText 的结果会改变)。如何发送信号以更新所有 [data-language] 元素?

【问题讨论】:

    标签: javascript aurelia custom-attribute


    【解决方案1】:

    这几乎就是 Aurelia I18N 插件所做的,它使用 EventAggregator 在发现时即时更新自定义属性值。 See this Aurelia Discourse discussion详细解释

    【讨论】:

      猜你喜欢
      • 2018-04-21
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 2016-06-10
      • 1970-01-01
      • 2017-06-21
      • 1970-01-01
      • 2019-11-30
      相关资源
      最近更新 更多