2016-04-11 14 views
4

ile repeat.for için nesneye nasıl bağlanırım Şu anda bir bindable özelliği olan bir özel öğe oluşturmaya çalışıyorum ve bu özelliğe bir repeat.for döngüsü değişkenine bağlanıyorum. Bu basit bir görev olmalı gibi görünüyor ama işe yaramaz ve belki de bir değişken olan bir nesne ile ilgisi olup olmadığını merak ediyorum. Benim özel öğe için kod aşağıda: kullandığınıAurelia

oyun card.js

import { bindable } from 'aurelia-framework'; 

export class GameCard { 
    @bindable gameData = null; 
    @bindable name = ''; 

    bind() { 
    console.log('card-game-data: ' + JSON.stringify(this.gameData, null, 2)); 
    console.log('name: ' + this.name); 
    } 
} 

oyun card.html

<template> 
    <div class="card medium"> 
    <h3 class="center-align left">${gameData.name}</h3> 
    <div class="right-align right">${gameData.isPublic}</div> 
    </div> 
</template> 

görünüm Özel öğe aşağıdaki gibidir:

aşağıdaki gibi
<template> 
    <require from="./game-card"></require> 
    <div> 
    <div class="row"> 
     <div repeat.for="game of games"> 
     <game-card class="col s6 m4 l3" gameData.bind="game" name.bind="game.name"></game-card> 
     </div> 
    </div> 
    </div> 
</template> 

oyunları görünüyor nesne:

Şimdi
[{name: 'SomeName', isPublic: true}, {name: 'AnotherName', isPublic: false}] 

, kodu, gameData için tanımsız oyun card.js bağlama yöntemi baskı dışarı console.log ifadeleri, ama dışarı baskılar çalıştırdığınızda console.log('name: ' + this.name) ifadesi için oyunun doğru adı. Oyun nesnesinin bir özelliğine bağlandığımda, bağlama neden çalıştığını anlayamıyorum, ancak oyun nesnesinin kendisine bağlandığımda değil. Herhangi bir yardım çok takdir edilecektir, çok teşekkür ederim!

cevap

9

gameData.bind yerine game-data.bind yazmalısınız. İlk bakışta, bu tek sorun olmalıdır

+0

Tam olarak öyle. Çok teşekkür ederim! – KevinM

İlgili konular