对于绑定,我可以使用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]
元素?
答案 0 :(得分:1)
这几乎是Aurelia I18N插件在使用EventAggregator时在发现通知时动态更新自定义属性值的功能。 See this Aurelia Discourse discussion进行详细说明