[在Ember应用程序(Ember v3.13)中,我尝试使用模板中的每个循环遍历音频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}}
尝试使用其他变量名。尖括号组件调用的引入已引起代码问题,这些代码试图在传递具有相同名称的变量时尝试调用组件:
{{#each audioURLS as |src|}}
<li>
<audio controls preload="none" src={{src}}>Your browser does not support the audio element.</audio>
</li>
{{/each}}
我知道问题出在哪里。在本期中提到:https://github.com/emberjs/ember.js/issues/17219
我以音频作为阻止参数,然后尝试调用HTML5音频标签,这引起了碰撞。
很遗憾,错误消息如此模糊,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}}
然后效果很好。