راکت
حل شده

دسترسی به variable

3 پاسخ

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

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

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

@component('system.contents')

@endcomponent

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

@hesammousavi @mhyeganeh

ثبت پرسش جدید

پاسخ‌ها

3
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

بهترین پاسخ

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

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

@endcomponent
کیارش مالکی
کیارش مالکی
@nader.register

تخصص: Backend developer

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

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

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

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

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

شاید پاسخ شما همین‌جا باشد

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

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