Javascript 基于查询字符串隐藏按钮
我正在用Laravel和Vue构建一个小型论坛应用程序,目前我正在添加过滤器按钮,以根据过滤器按钮获取线程 例如,在一个Vue组件中,我有下面的按钮,它本质上是向后端发出get请求,并获取由经过身份验证的用户创建的线程Javascript 基于查询字符串隐藏按钮,javascript,laravel,vue.js,vuejs2,Javascript,Laravel,Vue.js,Vuejs2,我正在用Laravel和Vue构建一个小型论坛应用程序,目前我正在添加过滤器按钮,以根据过滤器按钮获取线程 例如,在一个Vue组件中,我有下面的按钮,它本质上是向后端发出get请求,并获取由经过身份验证的用户创建的线程 <a href="/threads?myThreads=1"> My Threads </a> 例如,如果我单击按钮我的线程,则href将 /threads?=myThreads=1 在这种情况下,我想根据href隐藏按钮我的线程
<a href="/threads?myThreads=1"> My Threads </a>
例如,如果我单击按钮我的线程,则href将
/threads?=myThreads=1
在这种情况下,我想根据href隐藏按钮我的线程
我的问题
这是一个糟糕的方法吗?根据href做出决策
我应该尝试另一种方法吗?例如,将数据从后端传递到前端以获取查询参数
this.$route.query.myThreads
可以使用代码段获取查询参数值
要隐藏按钮
<a href="/threads?myThreads=1" v-if="query !== 1"> My Threads </a>
在
query
包含查询参数的地方。您离得不远,只需在正在构建的组件中添加一点逻辑即可。就我个人而言,我不会让href命令任何事情的状态;您需要在组件中添加一些功能来处理请求。在“挂载”状态下,您可以将状态默认为所有帖子,按下按钮后,您可以使用一种方法过滤该请求。查看官方文档了解更多信息(这与您试图实现的目标非常接近):另外,添加一个数据属性,例如,“queryType:”使用v-if隐藏或禁用按钮,具体取决于查询类型。如果您打算根据axios请求执行操作,则我无法执行该操作,因为我从laravel返回了一个视图,而不是json响应。此外,我使用的一些按钮不是Vue组件的一部分,而是刀片视图的一部分。您是否建议更改整个结构,以便能够返回Json响应而不是刀片视图?如果我这样做,那么我想我可以发出axios请求并根据响应采取行动。但是现在我在想,即使我这样做了,我仍然需要访问查询字符串,否则我如何管理按钮的状态?如果我在这里完全错了,请原谅,但听起来您需要承诺一件事来处理前端,另一件事来处理后端。Blade view听起来像是Laravel的模板语言,Laravel是PHP版本的Vue。我会坚持使用其中一种,或者完全承诺使用Vue作为前端语言,使用Laravel作为后端语言。让我知道我是不是找错了方向;)我发现本文可能会对您有所帮助:这是一个很好的提示,因为我没有使用vue获取查询字符串。然而,我更关心的是这种方法是否正确。任何其他的方法都值得赞赏,你能提供一些关于这个场景的更多想法吗?所以我可以建议其他方法
<a href="/threads?myThreads=1" v-if="query !== 1"> My Threads </a>