Lösen Sie mithilfe der Vue.js 3 Composition API ein Ereignis aus, wenn die Komponente angezeigt wird
P粉032900484
2023-08-28 23:40:07
<p>Ich habe einige Komponenten in meiner Anwendung, die über Schaltflächen und Variablen angezeigt/ausgeblendet werden, zum Beispiel v-show="variable", die Schaltflächen setzen diese Variablen einfach auf wahr/falsch und ich verwalte diese Komponenten für ein Web Seite, genau wie das Durchsuchen einer Website auf verschiedenen Seiten. Was ich möchte, ist eine Möglichkeit, eine Funktion aufzurufen, wenn die Komponente auf der Seite angezeigt wird. Ich möchte zum Beispiel zufällig zwei Spieler auswählen, um ein Spiel zu starten. Wenn das Spielbrett angezeigt wird, erscheint eine Meldung oder Warnung nur, wenn der Spieler 2 ist. Wichtig ist, dass das Ereignis in diesem Fall eingetreten ist Nicht bevor. Meine Idee ist, eine Funktion im Skriptteil der Komponente zu haben: </p>
<pre class="brush:php;toolbar:false;">function Something() { Alert("hello" }</pre>
<p>Dann finden Sie eine Möglichkeit zu sagen: </p>
<pre class="brush:php;toolbar:false;">Wenn die Komponente angezeigt wird -> if (player == 2) { Something( }</pre>
<p>Was mir fehlt, ist, wie ich den Teil „wann die Komponente angezeigt wird“ bestimmen und handhaben kann. Für mich scheint die am besten geeignete Logik die Verwendung von onMounted, onRendered (ich habe gelesen, dass es nur in einer Entwicklungsumgebung funktioniert) und onActivated zu sein, aber sie scheinen nicht richtig/überhaupt nicht zu funktionieren. </p>
我找到了一种方法。问题是:它与
onMounted
和v-if
结合使用。我正在检查代码,看看是否可以使用v-if
而不是v-show
,我记得我故意选择使用v-show
来处理我的组件,但也许在这种情况下改变一下不会有问题。