reactjs - Vue中如何区分prop和同名的方法?
问题描述
我最近从 React 切换到了 Vue。在 React 中,我经常在子组件中有一个方法,看起来像这样:
onClick = (e)=>{
const val = e.target.value;
this.props.onClick(val)
}
我看到 Vue 非常“自由”,并且允许您将组件方法和道具视为“同一件事”。
有什么方法可以区分这两者,比如 this.props?关于这个问题的约定是什么?
解决方案
您应该利用另一种 Vue 技术,而不是使用其事件发射器系统传递函数:
// MyComponent:
methods: {
onClick(e) {
const val = e.target.value;
this.emit('click', val);
}
}
...
<button @click="onClick">Click me</button>
//When you actually use your component
<MyComponent @click="() => { console.log('delegated onClick!'); }"/>
推荐阅读
- flutter - Flutter:如何在 Flutter 中做这种 UI 来选择日期
- swift - 在 Mac 上检测使用过的鼠标设备
- excel - Excel/VBA - 如何对列中的每个现有单元格进行相同的编辑
- javascript - 如何使用一些热键隐藏标题和侧边栏
- javascript - 为什么通知消息在 IE11 中不起作用
- c++ - 在 CLion 中:CMake 无法找到与“Unix Makefiles”对应的构建程序
- browser-cache - Ctrl+5F 显示两种不同类型的显示
- node.js - 从弹性查询中找到准确的匹配结果
- php - 如何在 PHP 中“回显”多维数组?
- python - 尝试构建具有多个输出的 TF2 模型,但得到 InvalidArgumentError:无法挤压 dim[1],预期维度为 1,得到 8