Laravel 8 组件

问题描述

我正在尝试创建一个组件,并向其发送一些数据。

=IFERROR(TRIM(IMPORTXML("https://www.zacks.com/stock/quote/"&TO_TEXT(A1),"//*[@class='rank_view']/text()[1]")),"")

然后我使用

在Blade中调用该组件
<div class="card">
    <div class="card-wrapper">
        <div class="card-header">
            <div class="card-title">
                <i class="fa fa-pie-{{ $icon ?? '' }} fa-fw"></i>
                <span>{{ $title ?? '' }}</span>
            </div>
            <div class="card-version">
                <i class="fa fa-question-circle fa-fw"></i>
            </div>
        </div>
        <div class="card-body">
            {{ $content ?? '' }}
        </div>
    </div>
</div>

但我收到以下错误

未定义的变量 $icon

我的组件控制器看起来像这样

<x-com-card icon="globe" title="Test"> </x-com-card>

知道为什么会这样吗?

解决方法

这是因为你把你的属性设置为私有,view无法访问它们。

当你的组件被渲染时,你可能会显示你的内容 组件的公共变量,通过名称回显变量

public $icon;
public $title;

您可以在官方文档中找到更多here