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>