在Aurelia中,一个视图模型如何影响另一个模型视图的绑定变量

在Aurelia中,一个视图模型如何影响另一个模型视图的绑定变量,aurelia,Aurelia,我希望我的应用程序主体能够更改标题中显示的消息 例如,如果header.html如下所示: <template> ${message} </template> ${message} 对等视图模型如何更改显示的“消息”变量?或者,我可能是完全错误地这样做了……对于您的场景,最常见的解决方案是使用父视图模型来连接两个对等点。使用双向绑定将同一变量(作为单个变量或对象)绑定到两个子级。然后,当一个发生变化时,另一个也会发生变化 示例: 父视图(Parent.html)

我希望我的应用程序主体能够更改标题中显示的消息

例如,如果header.html如下所示:

<template>
  ${message}
</template>

${message}

对等视图模型如何更改显示的“消息”变量?或者,我可能是完全错误地这样做了……

对于您的场景,最常见的解决方案是使用父视图模型来连接两个对等点。使用双向绑定将同一变量(作为单个变量或对象)绑定到两个子级。然后,当一个发生变化时,另一个也会发生变化

示例:

父视图(Parent.html)

Child1视图(header.html)


还有其他方法可以做到这一点,但希望这能让您走上正确的轨道,这样您就可以看到绑定是如何跨视图工作的。

谢谢。这对我来说就足够了。最后,我实际使用了来自的解决方案。我的确切情况更适合于在单例中存储一些全局状态。
<template>
  <require from="./header"></require>
  <require from="./my-child2"></require>

  <header message.two-way="message"></header>
  <my-child2 message.two-way="message"></my-child2>
</template>
import {bindable} from 'aurelia-framework';
export class Header {
  @bindable message;
}
<template>
  ${message}
</template>
import {bindable} from 'aurelia-framework';
export class MyChild2 {
  @bindable message;
  attached() {
    this.message = "Greetings from MyChild2!";
  }
}