Vuejs为什么所有方法都被调用?

时间:2020-05-07 15:05:38

标签: vue.js vue-directives

在以下代码中,第一个标签p呈现name,并且还绑定到输入字段的输入事件。 有一种称为随机的方法,它会生成随机数。它在最后一个p标签中呈现。想知道为什么random框中的每个字符method都被调用input input吗?那不应该只执行一次吗?

我知道我可以将Vuejs指令v-once添加到最后一个p标签,并且它保持不变。

有人可以帮助我更好地理解这一点吗?

Vue.config.devtools = false
Vue.config.productionTip = false
new Vue({
el:"#exercise",
data: {
    name: "Tokyo",
},
methods: {
    changeName: function(event){
        this.name = event.target.value;
    },
    random: function(){
        return Math.random();
    }
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="exercise">
    <p>VueJS is pretty cool - {{ name }}</p>
    <br/>
    <input type="text" v-bind:value="name" v-on:input="changeName">
    <br/>
    <p>{{random()}}</p>
</div>

0 个答案:

没有答案