如何在Aurelia中使用布局?

时间:2016-08-04 09:36:45

标签: aurelia aurelia-router

Aurelia最近添加了对布局的支持,他们大致解释了那些in their documentation

然而,虽然我设法让布局本身起作用,但我不能在我的Layout-ViewModel中作为属性的布局-HTML中使用任何变量。

MWE:

app.ts

import {Router, RouterConfiguration} from 'aurelia-router';

export class App {
  router: Router;

  configureRouter(config: RouterConfiguration, router: Router) {
    config.map([
      { route: 'hello', layoutViewModel: 'layout/main', moduleId: 'hello/index' },
    ]);
  }
}

布局/ main.ts

export class MainLayout {
  heading = 'Hallo Welt';
}

布局/ main.html中

<template>
  <h1>${heading}!</h1>
</template

但只有感叹号出现。你有什么想法我做错了什么或我怎么能让它工作?

非常感谢提前!

3 个答案:

答案 0 :(得分:1)

很抱歉这里的延迟回答,但您的示例似乎对我有用。您很可能遇到过已修复的错误或代码中其他地方的问题。

请参阅this linked Gist.run example以查看您的示例正在运行。

答案 1 :(得分:1)

github上存在一个关于同样问题的问题 https://github.com/aurelia/templating-router/issues/34 它已经解决,现在layoutViewModel绑定得很好。

答案 2 :(得分:1)

您可以在layout / main.ts中执行此操作:

export class MainLayout {
  constructor() {
    this.heading = 'Hallo Welt';
  }
}