Aurelia简单绑定不起作用

时间:2015-04-30 08:45:44

标签: javascript aurelia

我有一个非常简单的约束,它不会起作用,因为我期望它:

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
  姓名:马丁
  姓名:西蒙

1 个答案:

答案 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 {

}