javascript - 发出事件后清除 vue 输入字段
问题描述
我有一个带有输入和按钮的 Vue 组件。我希望按钮将输入发送到其他地方,然后清除输入。后半部分,没有发生。
这是我所拥有的粗略可运行版本:
new Vue({
el: '#root',
template: `
<div>
<input type='text' v-model='name'/>
<button @click='onClickMe'>Click me</button>
</div>
`,
methods: {
onClickMe () {
this.$emit('set-this-elsewhere', { name: this.name })
this.name = ''
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="root">
</div>
解决方案
您在控制台中看到错误了吗?
属性或方法“名称”未在实例上定义,但在渲染期间引用
您需要添加
data() {
return {
name:''
};
},
new Vue({
el: '#root',
template: `
<div>
<input type='text' v-model='name'/>
<button @click='onClickMe'>Click me</button>
</div>
`,
data() {
return {
name: ''
};
},
methods: {
onClickMe() {
this.$emit('set-this-elsewhere', {
name: this.name
})
this.name = ''
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="root">
</div>
推荐阅读
- html - li 被隐藏的问题,按钮太低了
- apache-kafka - ksql - 是否可以从多个主题创建流并获得完整的事件有效负载?
- reactjs - 为选择选项循环对象时,引导选择失败
- npgsql - 如果端口关闭,NpgsqlConnection.Open 会抛出错误吗?
- c++ - 为什么创建朋友类的实例会导致“未定义的引用”错误?
- dax - DAX ALLEXCEPT 忽略过滤器上下文?
- c++ - C++ 通用事件系统
- angular - 从辅助路由到根的 Angular 6 路由
- python - ValueError:无法分配对象用户必须是“用户”实例
- python - 使用 np.sum 在 python 中添加 Numpy 数组?