سلام.
من داخل کنترلر مقداری را به صفحه blade پاس دادم.
return view('index', compact('Result'));
خب من داخل خود اون صفحه index دسترسی دارم به این متغییر و مشکلی ندارم و مقدار رو برام خروجی میگیره.
اما من از کامپوننت در blade استفده کردم و داخل اون صفحه ها می خوام به متغییر دسترسی پیدا کنم.
@component('system.contents')
@endcomponent
وقتی داخل صفحه contents خروجی میگیرم این متغییر رو با خطای Undefined variable $Result مواجه می شم.
سلام. باید موقع فراخونی کامپوننت ها متغیرهای مورد نیازش رو هم بهش پاس بدید. این کار رو میتونید در قالب یک آرایه و بعنوان پارامتر دوم انجام بدید:
@component('system.contents', ['Result' => $Result])
@endcomponent
@nader.register
چرا. راههای مختلفی میشه پیشنهاد داد. اما مشکل روش فوق چیه...؟! به نظرم تمیزترین و ساده ترینش همینه.
از slot هم میشه استفاده کرد. حتی از view composer هم احتمالا بشه. ولی خوب شاید لزوما بهترین روش نباشه.
بازهم برای اطمینان بیشتر مستندات رسمی لاراول رو مطالعه کنید:
https://laravel.com/docs/5.5/blade#components-and-slots
https://laravel.com/docs/8.x/blade#components
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟