作者:狄言洁_171 | 来源:互联网 | 2023-09-01 15:05
问题背景:移动端h5,父组件中引入子组件,现在需要用v-for来渲染子组件,点击每个子组件跳到对应的联系人的聊天页面里去。本来是通过router-link来做的,后面发
问题背景:
移动端h5,父组件中引入子组件,现在需要用v-for来渲染子组件,点击每个子组件跳到对应的联系人的聊天页面里去。本来是通过router-link来做的,后面发现点击了没有效果以为哪里出问题了就换成@click来做。但是现在事件绑定不成功,定位问题应该是单机事件没有绑定到子组件上,应该是异步或者dom渲染的生命周期的问题。因为后面我在mounted生命周期中通过this.$nextTick()函数手动获取子组件并绑定事件是成功的。
各位歌神帮看看这边代码怎么写比较优雅并符合套路,用router或者@click或者别的都可以,vue新人,多指教哈。
代码如下:
1 2 3 4 5 6 7 8 9 10
| :icon-src="msg.iconSrc"
:msg-source="msg.msgSource"
:msg-timestamp="msg.msgTimestamp"
:sub-cOntent="msg.msgContent"
:msg-count="msg.msgCount"
v-for="msg in msgs"
:key="msg.msgTimestamp"
@click="toTalk"
>
|
1 2 3 4 5
| methods: {
toTalk (event) {
console.log(12345)
}
} |