2016-02-02 3 views
2

Надеюсь, кто-то может мне помочь. У меня есть следующий вид:Aurelia связка для радиосвязи

<label repeat.for="option of options"> 
    <input type="radio" name="periodOptions" model.bind="option" checked.bind="$parent.selectedOption" click.delegate="clicked()"/> 
    ${option.text} 
</label> 

и следующий ViewModel:

export class PeriodPanel { 
    heading = 'Tidsperiode'; 
    options = []; 
    selectedOption = {}; 

    constructor() { 
     this.options = [ 
      {id:1, text:'Vis med dagoppløsning'}, 
      {id:2, text:'Vis med timeoppløsning'}, 
      {id:3, text:'Vis periode'} 
     ]; 
     this.selectedOption = this.options[0]; 
    } 

    clicked() { 
     console.log(this.selectedOption.id); 
    } 
} 

Причина присвоения this.selectedOption = this.options[0];, чтобы убедиться, что один из переключателей первоначально установлены. Это все хорошо и денди, но когда я нажимаю на каждый переключатель в свою очередь, значение переменной selectedOption не изменяется, и обработчик щелчка clicked() будет печатать значение 1 каждый раз. Что я делаю не так?

ТИА

ответ

4

Возврат true из метода clicked(), чтобы событие распространяться.

Вот рабочий пример:

https://gist.run/?id=84eb0949ff63c3f10a1eff3c337f2c97

+0

Благодаря Джереми. Я сейчас не работаю, но попробую это завтра утром. – norgie

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