Javascript 选中vue bind复选框以显示函数的结果,并向其传递一个值

Javascript 选中vue bind复选框以显示函数的结果,并向其传递一个值,javascript,vue.js,Javascript,Vue.js,我的模板如下所示: <label > <input type="checkbox" name="facet.name" :value="term.term" :checked="isChecked(facet.name)" v-on:change="filerChange($event, facet.name)" > {{term.term}} <span class="facet-count">(

我的模板如下所示:

<label >
  <input 
    type="checkbox" 
    name="facet.name" 
    :value="term.term"
    :checked="isChecked(facet.name)"
    v-on:change="filerChange($event, facet.name)"
  >
    {{term.term}} <span class="facet-count">({{term.count}})</span>
</label>

这只适用于初始渲染,当我选中或取消选中复选框时,它将不会再次调用
isChecked
,只需切换复选框。

在渲染过程中使用模板中的参数编写的方法被调用。要避免这种情况,请使用将调用目标方法的arrow函数

<label >
  <input 
    type="checkbox" 
    name="facet.name" 
    :value="term.term"
    :checked="() => isChecked(facet.name)"
    v-on:change="() => filerChange($event, facet.name)"
  >
    {{term.term}} <span class="facet-count">({{term.count}})</span>
</label>

{{term.term}}({{term.count})

您在这段代码中遇到了什么问题?@JinalSomaiya它只在最初设置值。当我选中或取消选中该复选框时,它不会重新计算是否选中该复选框,但当您切换复选框时它会调用change method。@JinalSomaiya我认为
v-on:change
函数不会更改任何会导致重新渲染的内容。既然
v-on:change
确实改变了一些东西(路由器推送),它就如预期的那样工作。我认为
v-on:change
函数没有改变任何会导致重新渲染的东西。既然
v-on:change
确实改变了一些东西(路由器推送),它就如预期的那样工作了。
<label >
  <input 
    type="checkbox" 
    name="facet.name" 
    :value="term.term"
    :checked="() => isChecked(facet.name)"
    v-on:change="() => filerChange($event, facet.name)"
  >
    {{term.term}} <span class="facet-count">({{term.count}})</span>
</label>