我正在使用。一旦方法仅触发一次,但是我的应用程序允许用户在步骤(组件)之间来回切换,并且一旦用户切换了组件然后又返回,该方法便可以再次触发。
我尝试过只使用存储在$ store数据(Vuex)中的布尔值,并让它检查一次是否触发一次,但会抛出应用程序的其余部分。我不确定添加if语句如何与其余方法触发交互。
<select v-model="updateActiveKeyword" @click.once="restOfAds()">
<option
v-for="option in options"
:key="option.id"
@input="dropDownSelect(option)"
:bind="option"
style="padding: 3px 80px;"
>{{option}}</option>
</select>
我在想可能会有一种更简单的使用方法。一旦我还没有找到在线答案,组件可能会发生变化。
答案 0 :(得分:1)
一个选项可能是使用<keep-alive>
组件,因此当您从一个组件移到另一个组件时,这些组件不会再次呈现,并且.once事件侦听器只能运行一次,因为它是同一实例。
选中this example。
您可以在<keep-alive>
here
它有它自己的警告,例如组件实例的缓存和生命周期挂钩的执行。