Diese Vue-Aufruf-Variante funktioniert:
<div id="a">
<p v-model>wert: {{hallo(3) }} </p>
</div>
<script>
$foo = new Vue({
el: '#a',
data: {wert: 2},
methods: {
hallo(x) { return x }
}
});
</script>
Da findet der Aufruf der Methode hallo() im Template statt. Das klappt, Output: "wert: 3"
Im Template klappt die Übergabe auch mit einer Variable:
<div id="a">
<p v-model>wert: {{hallo(wert) }} </p>
</div>
<script>
$foo = new Vue({
el: '#a',
data: {wert: 3},
methods: {
hallo(x) { return x }
}
});
</script>
Output: "wert: 3"
Und das möchte ich auch außerhalb vom Template steuern. Indirekt krieg ich das hin mit $foo.wert=9
<div id="a">
<p v-model>wert: {{hallo(wert) }} </p>
</div>
<script>
$foo = new Vue({
el: '#a',
data: {wert: 3},
methods: {
hallo(x) { return x }
}
});
$foo.wert=9;
</script>
Output: "wert: 9"