ember.js Ember每个循环内的音频标签

hvvq6cgz  于 2022-11-05  发布在  其他
关注(0)|答案(2)|浏览(129)

在一个Ember应用程序(Ember v3.13)中,我尝试在一个模板中使用each循环来遍历一个音频URL数组,并为每个URL生成一个音频标签...
出现以下错误:

Assertion Failed: fullName must be a proper full name

音频标记在每个循环之外工作正常。
想知道是否有人以前见过这个,或者知道它的意思,或者是否有解决办法?
下面是代码:

{{#each audioURLS as |audio|}}
  <li>
    <audio controls preload="none" src={{audio}}>Your browser does not support the audio element.</audio>
  </li>
{{/each}}
rkue9o1l

rkue9o1l1#

请尝试使用其他变量名。尖括号组件调用的引入导致代码在传入同名变量时尝试调用组件时出现问题:

{{#each audioURLS as |src|}}
  <li>
    <audio controls preload="none" src={{src}}>Your browser does not support the audio element.</audio>
  </li>
{{/each}}
yjghlzjz

yjghlzjz2#

我现在知道问题出在哪里了。这期杂志上提到过:https://github.com/emberjs/ember.js/issues/17219
我把audio作为块参数,然后试图调用HTML5 audio标记,结果导致了冲突。
这是一个遗憾的错误信息是如此完全模糊,这似乎是经常与ember的情况。
更新了我的代码:

{{#each audioURLS as |audio|}}
  <li>
    <audio controls preload="none" src={{audio}}>Your browser does not support the audio element.</audio>
  </li>
{{/each}}

更改为:

{{#each audioURLS as |a|}}
  <li>
    <audio controls preload="none" src={{a}}>Your browser does not support the audio element.</audio>
  </li>
{{/each}}

然后一切都很顺利。

相关问题