Vue 3: So erhalten und ändern Sie festgelegte Variablen in Komponentenfunktionen
P粉463840170
P粉463840170 2023-08-24 19:32:40
0
1
530
<p>Betrachten Sie das folgende einfache Beispiel mit der Kompositions-API in Vue 3. Ich möchte eine Instanz von <code>test</code> in der Funktion einer Komponente verwenden. </p> <pre class="brush:php;toolbar:false;"><script> import { defineComponent, ref, onMounted } aus 'vue' Standard exportieren defineComponent({ Name: 'Test', aufstellen(){ let test = ref() onMounted(() => { etwas tun() }) zurückkehren{ prüfen, etwas tun } } }) Funktion doSomething(){ console.log(test) //<-- undefiniert console.log(this.test) //<-- undefiniert } </script></pre> <p>Wie greife ich auf <code>test</code> innerhalb von <code>doSomething()</code> zu? Nach meinem Verständnis sollte alles, was von <code>setup()</code> zurückgegeben wird, in der gesamten Komponente verfügbar sein, genau wie das Attribut <code>data()</code> </p>
P粉463840170
P粉463840170

Antworte allen(1)
P粉506963842

你必须将ref作为参数传递

<script>
import { defineComponent, ref, onMounted } from 'vue'

export default defineComponent({
  name: 'Test',
  setup () {
    let test = ref(null)

    onMounted(() => {
      doSomething(test.value)
    })

    return {
      test,
      doSomething
    }
  }
})

function doSomething (param) {
  console.log(param); // null
}
</script>

另一种方法:

// functions.js
import { ref } from 'vue'
export let test = ref(null)
// vue-file
<script>
import { defineComponent, ref, onMounted } from 'vue'
import { test } from '../utils/functions.js'

export default defineComponent({
  name: 'Test',
  setup () {

    onMounted(() => {
      doSomething(test)
    })

    return {
      test,
      doSomething
    }
  }
})

function doSomething (param) {
  console.log(test.value); // <-- instant access
  console.log(param.value); // <-- import via parameter
}
</script>
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!