Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Aurelia将数据传递到模板的可绑定值_Javascript_Typescript_Aurelia - Fatal编程技术网

Javascript Aurelia将数据传递到模板的可绑定值

Javascript Aurelia将数据传递到模板的可绑定值,javascript,typescript,aurelia,Javascript,Typescript,Aurelia,我在一些模板中多次使用repea.。当我试图将数据绑定到组件中的可绑定变量时,出现了一个问题我想像上传一样传递它,但得到一个错误-aurelia logging console.js:54错误[app router]错误:解析器错误:预期缺失:在[${elem.parent.id}]的第7列处。。如果我传递它,那么上传值是未定义。但它不能是未定义的,因为在div.files-wrapper中,我正在键入这些值并查看正确的值。怎么通过呢?我不明白 <div class="row">

我在一些模板中多次使用
repea.
。当我试图将数据绑定到
组件中的可绑定变量时,出现了一个问题

我想像
上传一样传递它,但得到一个错误-
aurelia logging console.js:54错误[app router]错误:解析器错误:预期缺失:在[${elem.parent.id}]的第7列处。
。如果我传递它,那么
上传
值是
未定义
。但它不能是未定义的,因为在
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>

我是奥勒·维尔·马利。
上传
${subElem.kood}
${elem.parent.id}
${subElem.id}
一些文本
莱尔斯

您在一个
重复中。对于
,您要访问的属性属于父范围。因此,您必须使用
$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>

${$parent.elem.parent.id}
${subElem.id}
一些文本
莱尔斯

$parent不再是必需的。在所有情况下?因为在某些情况下,我必须使用$parent。我认为,至少……就我所知,这不应该是必要的,除非您需要明确说明要从哪个父范围中提取。Jeremy可能会反驳我。例如,如果当前作用域和外部作用域都有同名的属性,我有两个答案。A) 如果您只有一个repeater,并且您给了repeat变量名称与父作用域中的某个名称相同,那么您需要被打击:-)B)当您有多个级别时,这可能没问题,这就是需要$parent的地方。但是我会尽可能避免它,只是为了帮助代码的可读性。
elem-id.bind=“${elem.parent.id}”
在Aurelia中是无效的语法。您可以执行
elem id=“${elem.parent.id}”或
elem-id.bind=“elem.parent.id”
。如果看不到虚拟机的
editabileupload`,我真的说不出有什么问题。