v-bind 表达式的值不能为空。在“v-bind:items”中找到
Posted
技术标签:
【中文标题】v-bind 表达式的值不能为空。在“v-bind:items”中找到【英文标题】:The value for a v-bind expression cannot be empty. Found in "v-bind:items" 【发布时间】:2021-09-21 02:07:19 【问题描述】:我是 Vue 的新手。我正在使用如下的 vue 组件,如果可用,我将通过组件传递一些对象。
<form :languages=' json_encode($languages) '
:items=' !empty($items) ? $items : "" '>
</form>
我正在使用这个 vue 组件来创建新条目和编辑现有条目场景。所以,这个 :items (它是对象列表)只有在使用编辑功能时才具有值。但如果它是创建新功能,它就没有这个:项目。当我使用这个 vue 组件来添加新功能时,它给了我以下错误并且没有加载 vue 组件。
错误信息:
。
我想为我已经提到的两个场景(创建新和编辑函数)加载这个 vue 组件,那么有什么方法可以实现吗?
【问题讨论】:
请为您的问题提供***.com/help/mcve。items
应该是什么?在您的情况下,它的计算结果为 :items=""
,这是一个错误。
@Estus Flask 我已经编辑了这个问题,它描述了这是什么:items。
请坚持技术观点并检查***.com/help/mcve。它是一个对象吗?数组?一个字符串?当它是空的时,你到底期望它是什么?空值?空字符串?空物体?这个问题非常具体到问题中没有提到的 php,如果 Vue 代码是单独用 JS 从头开始编写的,你可能不会遇到这个问题。尝试在 Vue 中编写正确的表达式,然后从 PHP 中提供相应的值。
【参考方案1】:
v-bind
不允许空的绑定表达式值,如果 empty($items)
的计算结果为 true
,就会发生这种情况。
对于这种情况,您可以将其设置为空数组:
<form :items=' !empty($items) ? $items : "[]" '>
?
【讨论】:
以上是关于v-bind 表达式的值不能为空。在“v-bind:items”中找到的主要内容,如果未能解决你的问题,请参考以下文章