为了账号安全,请及时绑定邮箱和手机立即绑定

Vue,与两条路线共享刀片/视图

Vue,与两条路线共享刀片/视图

PHP
繁花不似锦 2022-12-11 16:38:18
我被困在这里,我不确定最好的行动方案目前我有一个 blade 和 vue 组件组成一个仪表板。我有一个加载仪表板视图的路由,以及另一个获取 ID 详细信息的路由(在事件发生时在仪表板内调用)。这现在完美地工作。问题是我希望能够从外部访问第二条路线(如 site.com/status/12345)并默认加载该 ID (12345) 的数据。现在我点击 site.com/status 并在创建页面时调用它fetchEntries来获取数据,我根据该数据呈现一个带有链接的表格,所以如果你点击一个链接,它会将点击条目的 ID 传递到 status/{id}获取特定点击条目的详细信息。然后它将返回的数据加载到详细信息屏幕中。我在这里要做的就是做到这一点,以便如果我调用 status/12345 它会命中该路由和我的控制器details方法。site.com/status我知道我也可以在创建页面时调用该函数,但我想知道如何处理和之间的区别site.com/status/12345。我应该在这里做什么,我该怎么做?这是我现在拥有的:控制器.phppublic function index() {    return view('Entry.status');}public function details($id) {    return json_encode(Entry::getDetails($id));}web.php(路线)Route::get('/Entry/status', 'Entry\EntryController@index')    ->name('Entry.status');Route::get('/Entry/status/{id}', 'Entry\EntryController@details')    ->name('Entry.status');状态.vuecreated() {    this.fetchEntries(); },fetchEntries() {  axios.get('/Entry/dashboard')  .then(response => {    this.events = response.data;  })  .catch(function(error) {    console.log(error)  })  .finally(function() {  })},getDetails(event) {    this.detailId = event.taskt_id;    axios.get('/Entry/status/' + this.detailId)        .then(response => {    ...}
查看完整描述

1 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

如果我正确理解你的问题。我认为你可以做这样的事情。


public function details($id) {

    if (request()->wantsJson()) {

        return json_encode(Entry::getDetails($id));

    }


    return view('Entry.detail');

}

这是你想要的吗?


查看完整回答
反对 回复 2022-12-11
  • 1 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信