<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Wechat on Coding</title>
		<link>http://coding.dong.asia/categories/wechat/</link>
		<description>Recent content in Wechat on Coding</description>
		<generator>Hugo</generator>
		<language>cn</language>
		
		
		
			<copyright>京ICP备17034023号 © 2019 隨風揚</copyright>
		
		
			<lastBuildDate>Sat, 09 May 2020 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="http://coding.dong.asia/categories/wechat/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>小程序组件嵌套防止事件冒泡</title>
				<link>http://coding.dong.asia/wechat/event/</link>
				<pubDate>Sat, 09 May 2020 00:00:00 +0000</pubDate>
				<guid>http://coding.dong.asia/wechat/event/</guid>
				<description>&lt;p&gt;在实际使用中，遇到下面这种情况。在父View的绑定事件&lt;code&gt;openImgDialog&lt;/code&gt;实现图片预览，子View绑定事件&lt;code&gt;delImage&lt;/code&gt;实现删除图片。如下图效果：&#xA;&lt;img src=&#34;http://media.guoj.top/wechat/event1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;&amp;lt;view&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;bg-white padding&amp;#34;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;lt;view&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;grid col-4 grid-square&amp;#34;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;lt;view&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;bg-img&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;wx:for=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;{{detail.imgInfo}}&amp;#34;&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;wx:key&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;style=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;background-image:url({{item.url}});&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;bindtap=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;openImgDialog&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;data-url=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;{{item.url}}&amp;#34;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;lt;view&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;is-tag bg-red&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;bindtap=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;delImage&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;data-id=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;{{item.id}}&amp;#34;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;lt;text&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;isIcon-close&amp;#34;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;gt;&amp;lt;/text&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;lt;/view&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;lt;/view&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;lt;/view&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;&amp;lt;/view&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在点击子View删除图片事件时，会同时触发父View预览事件。如下图所示：&#xA;&lt;img src=&#34;http://media.guoj.top/wechat/event2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;事件分为冒泡事件和非冒泡事件：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;冒泡事件：当一个组件上的事件被触发后，该事件会向父节点传递。&lt;/li&gt;&#xA;&lt;li&gt;非冒泡事件：当一个组件上的事件被触发后，该事件不会向父节点传递。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html#%E4%BA%8B%E4%BB%B6%E8%AF%A6%E8%A7%A3&#34;&gt;小程序官方文档-事件&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>小程序子组件列表下拉刷新</title>
				<link>http://coding.dong.asia/wechat/refresh/</link>
				<pubDate>Wed, 15 Apr 2020 00:00:00 +0000</pubDate>
				<guid>http://coding.dong.asia/wechat/refresh/</guid>
				<description>&lt;p&gt;最近，研究小程序的过程中，遇到一个问题：小程序的组件Component并没有的Page下拉监听事件：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;onPullDownRefresh&#x9;监听用户下拉动作&lt;/li&gt;&#xA;&lt;li&gt;onReachBottom&#x9;页面上拉触底事件的处理函数&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;比如说，下面这样的结构：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;index page 引用search-head组件&lt;/li&gt;&#xA;&lt;li&gt;search-head component 引用search-list组件&lt;/li&gt;&#xA;&lt;li&gt;search-list component 显示列表数据&#xA;&lt;img src=&#34;http://media.guoj.top/wechat/refresh.png&#34; alt=&#34;&#34;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;那如何才能刷新组件的列表呢：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;search-head提供搜索、翻页方法，传递数据给search-list。&lt;/li&gt;&#xA;&lt;li&gt;search-list组件只显示数据。&lt;/li&gt;&#xA;&lt;li&gt;page监听&lt;code&gt;onReachBottom&lt;/code&gt;事件，然后调用search-head中的方法。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;search-head&#34;&gt;search-head&lt;/h2&gt;&#xA;&lt;p&gt;搜索头部组件，此组件内引用搜索列表组件。在这个组件内，实现搜索、翻页功能。通过组件将数据传递给子组件。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
