我在某些模板中使用了repea.for。当我尝试将数据绑定到<editable-file-upload>组件内的可绑定变量中时出现问题。我想像<editable-file-upload elem-id.bind="${elem.parent.id}">Upload</editable-file-upload>一样传递它,但出现错误-aurelia-logging-console.js:54 ERROR [app-router] Error: Parser Error: Missing expected : at column 7 in [${elem.parent.id}]。如果我通过它,那么<editable-file-upload elem-id.bind="elem.parent.id">Upload</editable-file-upload>的值为undefined。但这不能是不确定的,因为在div.files-wrapper中,我键入这些值并查看正确的值。如何通过?我听不懂

<div class="row">
    <div class="col-md-12">
        <div class="panel-group" id="someid" role="tablist" aria-multiselectable="true">
            <div class="panel panel-default" repeat.for="elem of elems">
                <div class="panel-heading" role="tab" id="${elem.parent.id}-heading">
                    <h4 class="panel-title">
                        <a role="button" data-toggle="collapse" data-parent="#elems" href="#${elem.parent.id}" aria-expanded="false" aria-controls="#${elem.parent.id}">
                            <i class="glyphicon glyphicon-triangle-right"></i>${elem.parent.kood}
                        </a>

                    </h4>
                </div>
                <div id="${elem.parent.id}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="${elem.parent.id}-heading">
                    <div class="panel-body">

                        <div class="elem" if.bind="!elem.children.length">
                            <div class="files-wrapper">
                                <div class="files-message">Toimingul ei ole veel malle.</div>

                                <editable-file-upload elem-id.bind="${elem.parent.id}">Upload</editable-file-upload>

                            </div>
                        </div>

                        <div class="sub_elems" if.bind="elem.children.length">

                            <div class="sub_elem" repeat.for="subElems of elem.children">

                                <div class="sub_elem-title">${subElem.kood}</div>

                                <div class="files-wrapper">
                                    ${elem.parent.id}
                                    ${subElem.id}
                                    <div class="files-message">Some text</div>

                                    <editable-file-upload elem-id.bind="${elem.parent.id}" sub-elem-id.bind="${subElem.id}">Lae üles</editable-file-upload>


                                </div>

                            </div>

                        </div>
                    </div>
                </div>
            </div>

        </div>
    </div>
</div>

最佳答案

您在repeat.for内,要访问的属性属于父范围。因此,您必须使用$parent关键字到达父作用域,然后访问该属性。例如:

<div class="files-wrapper">
  ${$parent.elem.parent.id}
  ${subElem.id}
  <div class="files-message">Some text</div>

    <editable-file-upload elem-id.bind="$parent.elem.parent.id"
                          sub-elem-id.bind="subElem.id">
     Lae üles
   </editable-file-upload>
  </div>
</div>

关于javascript - Aurelia将数据传递到模板的可绑定(bind)值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44761803/

10-11 22:31
查看更多