laravel 路由 命名的渲染操作

写在前面:有则改之,无则加勉。

命名使用

  • 例1:
    • 下面有个路由
      Route::get('new/show/{id}', function () { return 111; });
    • 在页面中调用它时
      <a href="{{ url('new/show'.$id) }}" > 1 </a>
      <!--  $id=1 上面的路由会渲染成 <a href="/new/show/1" > 1 </a> -->
    • 如果需要添加参数
      <a href="{{ url('new/show'.$id?.'columnId=3') }}" > 1 </a>
      <!--  $id=1 上面的路由会渲染成 <a href="/new/show/1?columnId=3" > 1 </a> -->
      没错是拼接,这很不优雅

  • 例2:
    • 下面使用命名
      Route::get('new/show', function () { return 111; })->name('new.show');
    • 就可以这样调用它
      <a href="{{ route('new.show', ['id'=>1]) }}" > 1 </a>
      <!-- 上面的路由会渲染成 <a href="/new/show/1" > 1 </a> -->
    • 如果需要添加参数
      <a href="{{ route('new.show', ['id'=>1, 'columnId'=>3]) }}" > 1 </a>
      <!-- 上面的路由会渲染成 <a href="/new/show/1?columnId=3" > 1 </a> -->
      第二个参数使用数组,可以直接传递参数

  • 例3
    • 使用此方式的优势还有,当路由路径更换时
      // Route::get('new/show/{id}', function () { return 111; })->name('new.show');
      // 更换为
      Route::get('new/info/{id}', function () { return 111; })->name('new.show');
    • 渲染链接是不用更换的,方便维护
      <a href="{{ route('new.show', ['id'=>1, 'columnId'=>3]) }}" > 1 </a>
      <!-- 上面的路由会渲染成 <a href="/new/info/1?columnId=3" > 1 </a> -->
      end
本作品采用《CC 协议》,转载必须注明作者和本文链接
it_cwc
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 1

如果路由需要参数,这个参数是在列表里循环出来的,怎么把js的值传到route里面 :flushed:

3年前 评论
it_cwc (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!