Aurelia获取Repeat.for转换的数组长度并在if.bind中使用它

时间:2017-06-27 16:27:00

标签: arrays typescript aurelia aurelia-binding

如何在falilid内获取名为repeat.for的已过滤数组的长度,然后将此长度用作.files-message div的条件?如果此长度为undefined, false, 0, null等,则应显示消息,否则应隐藏其他消息。我曾尝试为ref编写.white-box,尝试绑定新属性,我保存已过滤的数组,然后在条件中使用它...但没有帮助。任何想法?寻求你的帮助

  <div class="elem" if.bind="!elem.children.length">
        <div class="files-wrapper">

        <div class="form-inline">
            <div class="white-box" repeat.for="fail of failid | filterOnProperty:'elemId':elem.parent.id | filterOnProperty:'remove':false" >
                <elem-fail if.bind="fail != null" fail.two-way="fail" on-fail-eemaldatud.call="failRemoved(fail)"></elem-fail>
            </div>

            <div class="files-message">Some  message</div>

            <editable-file-upload liik-kl-oid.bind="elem.parent.id" on-file-uploaded.call="failUploaded(liik.parent.id, subelem.id, failiViitedId, file)">Lae üles</editable-file-upload>

        </div>

    </div>
</div>

1 个答案:

答案 0 :(得分:3)

您可以在父属性中创建已过滤的数组,然后在repeat.forif.bind中使用此属性。例如:

<div class="form-inline" ref="myForm" fails.bind="failid | filterOnProperty:'elemId':elem.parent.id | filterOnProperty:'remove':false">

  <div class="white-box" repeat.for="fail of myForm.fails">
    <elem-fail if.bind="fail != null" fail.two-way="fail" on-fail-eemaldatud.call="failRemoved(fail)"></elem-fail>
  </div>

  <div class="files-message" if.bind="myForm.fails.length">Some  message</div>

  <editable-file-upload liik-kl-oid.bind="elem.parent.id" on-file-uploaded.call="failUploaded(liik.parent.id, subelem.id, failiViitedId, file)">Lae üles</editable-file-upload>

</div>

希望这有帮助!