I try to dive deep into computed functionality of VUE.
I understand that computed runs only when the value tied into the function changes.
So I was expecting the computed function I wrote would work well. However, it runs only when the function is in 'method' hook.
Why Can I not make that happen when it is in computed?
my code is as below.
-html-
<script src="https://npmcdn.com/vue/dist/vue.js"></script>
<div id="exercise">
<!-- 1) Show an alert when the Button gets clicked -->
<div>
<button @click='showalert'>Show Alert</button>
</div>
<!-- 2) Listen to the "keydown" event and store the value in a data property (hint: event.target.value gives you the value) -->
<div>
<input type="text" v-on:keyup='updatekey'>
<p>{{ value }}</p>
</div>
<!-- 3) Adjust the example from 2) to only fire if the "key down" is the ENTER key -->
<div>
<input type="text">
<p>{{ value }}</p>
</div>
</div>
<script src='./app.js'></script>
app.js
new Vue({
el: '#exercise',
data: {
value: ''
},
methods:{
showalert(){
alert('You just clicked')
},
},
computed:{
updatekey(e){
this.value=event.target.value
}
}
});
@onEvent="updatekey=$event", dont use it like a method