请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

把属性、方法定义在自定义组件上与定义在组件内部

例如: post.wxml中

<block wx:for="{{postData}}" wx:for-item="pos" wx:for-index="idx" wx:key="postId">
    <c-post res="{{pos}}" index="{{idx}}" data-post-id="{{pos.postId}}" bind:tap="onGoToDetail" />
</block>

和在 components > post > index.wxml

<view class="post-container" data-post-id="{{pos.postId}}" bind:tap="onGoToDetail" >
...
</view>

表面上两种方法都能实现效果,第二种方法事件绑定更灵活,除了这个还会引起其它什么影响吗?

正在回答

3回答

如果是对全部组件绑定,应该绑定外部,绑定内部最好用事件传递出去。

0 回复 有任何疑惑可以回复我~
爱吃apple的阿狸 2021-11-21 17:22:30

直接定义在post.wxml里的组件上,是作用于整个组件,这个组件是由头像,日期,标题,图片,还有阅读数这些组合成一个整体的组件;

如果你只想点击组件内部的一部分(比如只想点击标题和图片才跳转进详情,点击头像等其他组件内的元素跳转到另一个页面),这种就需要在组件内部去定义点击事件了,然后在抛到外部来处理。

这种组件内局部的事件,是无法在外部组件元素上定义出来的。

0 回复 有任何疑惑可以回复我~
7七月 2021-04-08 21:28:17

一般个人习惯用block来当做括号的作用。

0 回复 有任何疑惑可以回复我~
  • 提问者 幕布斯4195248 #1
    谢谢老师,我没有表达清楚,就是想了解下,把“onGoToDetail”事件直接绑定在自定义组件<c-post>上 和绑定到 <c-post>内部,实现的效果一样,但会有其它影响吗
    回复 有任何疑惑可以回复我~ 2021-04-09 18:07:41
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信