我有一个非常简单的约束,它不会起作用,因为我期望它:
app.js:
export class PupilsViewer {
pupilsInfo = [
{ name: 'John' },
{ name: 'Eric' },
{ name: 'Martin' },
{ name: 'Simon' }
];
}
app.html:
<template>
<require from="./pupil"></require>
<pupil repeat.for="pupilInfo of pupilsInfo" info="${pupilInfo}"></pupil>
</template>
pupil.js:
import {bindable} from 'aurelia-framework';
export class Pupil {
@bindable info = { name: 'unknown' };
}
pupil.html:
<template>
<div>Name: ${info.name}</div>
</template>
这导致以下输出:
姓名:未知
姓名:未知
姓名:未知
姓名:未知
虽然我已经预料到了:
姓名:约翰 姓名:Eric
姓名:马丁
姓名:西蒙
答案 0 :(得分:2)
现在我遇到了同样的问题。这似乎是一个错字问题。尝试更改或删除可绑定的camel-case。但你的装订也不行。
export class PupilsViewer {
pupils = [
{ name: 'John' },
{ name: 'Eric' },
{ name: 'Martin' },
{ name: 'Simon' }
];
}
<强> app.html 强>
<template>
<require from="./pupil"></require>
<pupil repeat.for="pupil of pupils" info.bind="pupil"></pupil>
</template>
<强> pupil.js 强>
import {customElement, bindable} from 'aurelia-framework';
@customElement('pupil')
@bindable('info')
export class Pupil {
}