2015-10-22 67 views
4

我试图将单选按钮的“checked”状态绑定到我的JSON对象中的布尔值,但它没有被设置。aurelia - 绑定到单选按钮的值

模板:(jobReadinessItems是 “文件” 的阵列)

<tbody> 
    <tr repeat.for="item of jobReadinessItems"> 
    <td><input id="have" name="readiness" type="radio" checked.bind="item.Have" /></td> 
    <td><input id="need" name="readiness" type="radio" checked.bind="item.Need" /></td> 
</tr> 

项目(JSON):

{  
    Have: false, 
    Need: true 
} 

CS

public class JobReadinessItemDto 
    { 

    public bool Have { get; set; } 
    public bool Need { get; set; } 

    } 

但是,如果我结合这样它显示的值(但当然我不能设置它):

checked.bind="item.Have ? 'on' : 'off'" 

为什么它显示正确的“开/关”,但不是真/假?

http://plnkr.co/edit/G5Cw9i?p=preview

+0

我不明白你的模型:确实有,需要有独特的?所以如果“有”是真的,那么“极品”必须是假的,反之亦然?在这种情况下,为什么你使用两个bool属性而不是一个枚举属性对此进行建模? – nemesv

+0

感谢您的建议,它们是独占的,而枚举将是更好的方法。 – proggrock

回答

4

已经在奥里利亚文档看看备忘单:

http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/cheat-sheet

搜索“单选”,你会发现一些例子,可能是一个有益的参考。有一件事跳出我马上虽:

<tr repeat.for="item of jobReadinessItems">

这应该遍历数组,但jobReadinessItems是一个对象:

{  
    Have: false, 
    Need: true 
} 

您应该改变这是一个数组:

[ 
    {value: 'Have', checked: false}, 
    {value: 'Need', checked: true} 
] 

...并在您的模板中相应地绑定它,或者更改您的模板以直接绑定到对象值。希望有所帮助。

编辑:新小抄网址是 http://aurelia.io/docs/fundamentals/cheat-sheet/