【问题标题】:The value for a v-bind expression cannot be empty. Found in "v-bind:items"v-bind 表达式的值不能为空。在“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 组件。

错误信息:

v-bind 表达式的值不能为空。在“v-bind:items”中找到。

我想为我已经提到的两个场景(创建新和编辑函数)加载这个 vue 组件,那么有什么方法可以实现吗?

【问题讨论】:

  • 请为您的问题提供stackoverflow.com/help/mcveitems 应该是什么?在您的情况下,它的计算结果为 :items="",这是一个错误。
  • @Estus Flask 我已经编辑了这个问题,它描述了这是什么:items。
  • 请坚持技术观点并检查stackoverflow.com/help/mcve。它是一个对象吗?数组?一个字符串?当它是空的时,你到底期望它是什么?空值?空字符串?空物体?这个问题非常具体到问题中没有提到的 PHP,如果 Vue 代码是单独用 JS 从头开始​​编写的,你可能不会遇到这个问题。尝试在 Vue 中编写正确的表达式,然后从 PHP 中提供相应的值。

标签: php laravel vue.js vue-component


【解决方案1】:

v-bind 不允许空的绑定表达式值,如果 empty($items) 的计算结果为 true,就会发生这种情况。

对于这种情况,您可以将其设置为空数组:

<form :items='{{ !empty($items) ? $items : "[]" }}'>
                                            ?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-15
    • 2019-05-31
    • 1970-01-01
    • 2018-07-05
    • 2016-06-10
    • 2017-08-23
    • 2017-07-04
    • 1970-01-01
    相关资源
    最近更新 更多