2015-04-30 2 views
0

У меня есть очень простое связывание, которое не работает, как я бы ожидать, что это: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
Имя: Martin
Имя: Simon

ответ

2

сейчас я была такая же проблема. это типичная проблема. попробуйте изменить или удалить верблюд-футляр для ваших связующих. но ваша привязка тоже не в порядке.

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 { 

} 
+0

действительно, это будет исправлено в выпуске в течение следующих двух дней. хотя –

+1

camelcase в параметре все еще не работает? – DaafVader

Смежные вопросы