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
但只有感叹号出现。你有什么想法我做错了什么或我怎么能让它工作?
非常感谢提前!
答案 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';
}
}