کیارش مالکی
3 سال پیش توسط کیارش مالکی مطرح شد
3 پاسخ

دسترسی به variable

سلام.
من داخل کنترلر مقداری را به صفحه blade پاس دادم.

return view('index', compact('Result'));

خب من داخل خود اون صفحه index دسترسی دارم به این متغییر و مشکلی ندارم و مقدار رو برام خروجی میگیره.
اما من از کامپوننت در blade استفده کردم و داخل اون صفحه ها می خوام به متغییر دسترسی پیدا کنم.

@component('system.contents')

@endcomponent

وقتی داخل صفحه contents خروجی میگیرم این متغییر رو با خطای Undefined variable $Result مواجه می شم.

@hesammousavi @mhyeganeh


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
2

سلام. باید موقع فراخونی کامپوننت ها متغیرهای مورد نیازش رو هم بهش پاس بدید. این کار رو می‌تونید در قالب یک آرایه و بعنوان پارامتر دوم انجام بدید:

@component('system.contents', ['Result' => $Result])

@endcomponent

کیارش مالکی
تخصص : Backend developer
@nader.register 3 سال پیش مطرح شد
0

سلام و ممنونم ازتون. @mhyeganeh
غیر از این راه, راه دیگه ای نیست


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
0

@nader.register
چرا. راه‌های مختلفی میشه پیشنهاد داد. اما مشکل روش فوق چیه...؟! به نظرم تمیزترین و ساده ترینش همینه.

از slot هم میشه استفاده کرد. حتی از view composer هم احتمالا بشه. ولی خوب شاید لزوما بهترین روش نباشه.

بازهم برای اطمینان بیشتر مستندات رسمی لاراول رو مطالعه کنید:
https://laravel.com/docs/5.5/blade#components-and-slots
https://laravel.com/docs/8.x/blade#components


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام