请求的条件不起作用Vuejs
Posted
技术标签:
【中文标题】请求的条件不起作用Vuejs【英文标题】:condition for request does not work Vuejs 【发布时间】:2022-01-19 19:23:37 【问题描述】:这种情况以一种奇怪的方式起作用。
如果true
需要请求“A”,如果false
需要请求“B”。
<input type='checkbox' :value='category.title' v-model='checkedCategories' @change='changeEvent'>
js:
changeEvent($event)
if($event.target.checked)
this.forChange = true;
else
this.forChange = false;
,
请求
request()
if(this.forChange)
axios.get('link', params: a, b, c )
else
axios.get('link', params: a, c)
怎么了?
更新: 仅在第三次单击后才开始触发条件。前两个给真
【问题讨论】:
是否有理由不使用 v-modeledthis.checkedCategories
而不是 this.forChange
?
@vanblart 我可以试试。但我需要传递一组选定的复选框...
我在我的一个应用程序中处理多个复选框的方式是我在data
函数中创建了一个空数组,然后将所有复选框 v-model 到该数组,然后填充具有任何选定值的数组。 (作为旁注,我还从第二个数组生成复选框,其中包含我的所有值,但我不认为这是必要的)
在您的情况下,您应该能够使用 array.length 和 %2 来确定偶数或奇数长度(这就是您在最后一个代码块中所做的事情)并发送数组从那里开始。
@vanblart 不幸的是,检查长度对我不起作用。你能举一个 v-model 的例子吗?
【参考方案1】:
您需要在数据部分定义forChange
,并且您的复选框应绑定到checked
属性或v-model。
一旦你有了绑定,你就不需要这个方法了。
<input type='checkbox' v-model='forChange'>
或
<input type='checkbox' :checked='forChange' @change='forChange=$event.target.checked'>
同时使用:value
和v-model
会导致问题,并且可能是问题的根源。
【讨论】:
以上是关于请求的条件不起作用Vuejs的主要内容,如果未能解决你的问题,请参考以下文章
Axios 使用 vuejs cli 获取 php 文件不起作用