javascript - Aurelia 将数据传递到模板的可绑定(bind)值中

标签 javascript typescript aurelia

我正在使用一些模板 repea.for有时。当我尝试将数据绑定(bind)到 <editable-file-upload> 内的可绑定(bind)变量时出现问题成分。

我想像<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/

相关文章:

javascript - Mongoose - 如何确定查询中是否已存在嵌套对象?

javascript - 直接使用对象的属性和使用函数返回之间的区别

javascript - Canvas 上的画线是点缀的

javascript - 观察对象数组的属性是否有任何变化

javascript - 验证后 jQuery 拒绝发布

html - 我们可以从 Angular 应用程序中排除 tsconfig.spec.json

angular - 为什么我不能在我的 ngAfterViewInit 函数中访问我的局部变量?

html - 如何在 Angular Flex-box 上添加新行

aurelia - 编写一个大型 Aurelia 应用程序 - 一个页面上有多个应用程序

javascript - 在 Aurelia View 中创建动态表单