【问题标题】:Laravel Nova Tool - Send Metadata to VueLaravel Nova 工具 - 向 Vue 发送元数据
【发布时间】:2020-06-16 21:36:32
【问题描述】:

我正在为Laravel Nova 2.0 创建一个Tool

在我的Tool 中,我想向 Vue 组件发送一个东西列表:

在我的工具的 PHP src 中,我有一个生成“元”的函数,正如文档 here 中所建议的那样:

public function stuff() {

    $stuff = [];

    ... 

    return $this->withMeta(['stuff' => $stuff]);
}

在我的NovaServiceProvider.php 中,我实例化了该工具并调用了元函数。即

public function tools()
{
    return [
        (new Tool())->stuff(),
    ];
}

但是,没有任何东西传递给 Tool.vue 组件,(我花了一些时间检查它!)即:

mounted() {
    console.log(this.stuff); // undefined 
},

这里讨论了问题:https://github.com/laravel/nova-issues/issues/761,但请注意,我使用的是Tool,而不是ResourceTool,或Card

这是工具的错误,还是我做错了什么?有解决办法吗?

【问题讨论】:

    标签: laravel-nova


    【解决方案1】:

    我还没有尝试创建自定义工具,但是对于自定义字段,您可以使用以下方法获取元数据:

    mounted() {
        console.log(this.field.stuff);
    },
    

    如果您遇到类似问题,建议您在控制台中以 json 格式打印该类的内容,以便您更轻松地解决问题

    mounted() {
        console.log(JSON.stringify(this));
    },
    

    虽然我认为这不是问题,但您可以尝试将您的 stuff() 函数修改为:

    public function stuff()
    {
        $stuff = [];
        $this->withMeta(['stuff' => $stuff]);
        return $this;
    }
    

    【讨论】:

      猜你喜欢
      • 2019-04-30
      • 2019-03-19
      • 1970-01-01
      • 2021-09-21
      • 2016-04-09
      • 2020-11-06
      • 2021-08-22
      • 2019-04-12
      • 2019-07-08
      相关资源
      最近更新 更多