احمد نادری

توسعه دهنده فول استک

author
author

احمد نادری

توسعه دهنده فول استک

نمایش صفحات – بلاگ – محصولات در inertiajs (laravel+vue)

گاهی اوقات پیش میاد که ما میخوایم با یک روت ثابت به دیتاهای مختلف دسترسی پیدا کنیم .مثلا با روت blog و id خبر به محتویات اون خبر دسترسی پیدا کنیم مثل localhost.com/blog/1  …

برای اینکار در ابتدا یک روت در سمت لاراول تعریف میکنیم :

Route::get('/page/{name}', [PageController::class,'show'])->name('showpage');

در این روت name دیتایی هست که متغیره .

در کنترلر pagecontoller خودمون یک تابع به شکل زیر تعریف میکنیم :

  public function show($name)
    {
            $data = Pages::where('name',$name)->first();
            return Inertia::render('Website/Pages/Pages-Show', [
                'data'=>$data
            ]);
    }

خب حالا صفحه vue  خودمون رو به این شکل تعریف میکنیم :

<template>
...
       {{data}}
...
</template>

<script>

import { computed } from 'vue'
import { usePage } from '@inertiajs/inertia-vue3'
    export default ({
        setup() {
    const data = computed(() => usePage().props.value.data)
    return { data }
  },
    })
</script>

حالا کار تکمیل هست . برای نمایش روت در سمت vuejs  هم به شکل زیر عمل میکنیم :

  <Link :href="route('showpage', { name: 'about' })">About Us</Link>

 

درباره من
  • سلام به وب سایت من خوش اومدید ! از سال 1388 که وارد دنیای برنامه نویسی شدم تجربیات خودم رو از پروژه های مختلف به دست آوردم و همیشه سعی کردم تا مهارت های فنی و رفتاری خودم رو ارتقا بدم تا بتونم برای خودم و سازمانی که در آن کار می کنم بهترین باشم . من عاشق یادگیری هستم و همیشه از چالش های جدید هیجان زده میشم چون اونارو کلید موفقیت و رشد خودم می دونم.
  • @ahmadnaderi01
arrow