请求的条件不起作用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-modeled this.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'>

同时使用:valuev-model 会导致问题,并且可能是问题的根源。

【讨论】:

以上是关于请求的条件不起作用Vuejs的主要内容,如果未能解决你的问题,请参考以下文章

Axios 使用 vuejs cli 获取 php 文件不起作用

BPXBATCH 声明条件代码 0,但触摸请求不起作用

VueJS数据()不起作用

vuejs @import 不起作用

VueJS:使用 v-html 来 appendChild 不起作用,为啥?

VueJS计算过滤器功能不起作用