2016-04-10 3 views
0

Я пытаюсь просто установить привязываемое значение для компонента aurelia в repeat.for, и это, похоже, не влияет.Aurelia binding in repeat.for не работает

<event-summary repeat.for="event of events" event.bind="event" is-favorite="true"></event-summary> 

и в показах модели

EVENT-summary.js

@bindable('isFavorite') 
@bindable('event') 
export class EventSummary { 
    bind(bindingContext) { 
     if(bindingContext.isFavorite == null) { 
      this.isFavorite = false; 
     } 
    } 
} 

событие установлен правильно, но isFavorite не всегда неопределенный, независимо от того, что я стараюсь (это-favorite.bind = "[некоторое значение vm]") также возвращает undefined. Может ли кто-нибудь сказать мне, почему?

Благодаря

ответ

1

Я никогда не использовал функцию bind(), но обычно у вас есть isFavorite на Вашей области, как this.isFavorite. И вы могли бы сделать нулевой чек также в конструкторе

это работает для меня:

import {bindable} from 'aurelia-framework'; 

export class Testelement { 

    @bindable item 
    @bindable isFavorite 
    constructor() { 
     console.log(this.isFavorite); 
     console.log(this.item); 
    } 

    bind(bindingContext, overrideContext) { 
     console.log("bc ", bindingContext); //no item or isFavorite defined here 
     console.log("oc ", overrideContext);//no item or isFavorite defined here 
    } 
} 


<testelement item.bind="element" repeat.for="element of data" is-favorite="true"></testelement> 
+0

Отметить как ответ, но я смущен относительно того, почему isFavorite не относится к моему контексту привязки, но он находится в моей локальной области. – weagle08

2

is-favorite.bind="true" должен работать. is-favorite="true" также должен работать, хотя свойство isFavorite bindable будет присвоено в этом случае строка 'true'. Вот пример выполнения: https://gist.run/?id=7044b0c37b53bb66e833d461f41dae2f

+0

поэтому он работает, но почему bindingContext не содержит .isFavorite? в моей нынешней области просто запутано, почему это не связано с контекстом? – weagle08

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