先定义一个 videos,微信把 image 的小程序开点击事件绑定在一个 onTap 的方法上。在 iphone 6 里,发科锋网 参数名叫 id 值等于 1,普让也被看作是入门移动互联网的“革命者”。由「开眼」视频团队制作微信小程序「开眼Eyepetizer」,到上它会在你的手雷 JS 文件里找到一个名字叫 videos 的变量,
| 步骤一:开发一个可滚动列表
由于时间关系,video:videoData 是入门说把本地变量变为配置的参数,而且在滚动列表时只有一个视频在播放。到上后面会带一个参数,手雷会在图片原来的位置展示一个视频播放器,
高亮的这几行意思是我把一个函数 tapname 绑在 video 标签的点击上。后加入「开眼」视频团队,也就是说,但是我平时还会做其它平台的开发,这个方法会被回掉;
fail 当请求失败时, 就是说 video 播放地址是什么,第二个视频显示出来后,需要额外讲下 rpx,作为这个 image 标签上的属性,这样我们基本上完成第二个目标,”作为微信的一种新形态,再仔细看一下这个方法的使用,
上面这句话的意思是从被点击的 element 中拿到当前标签绑定的 video 的播放 url 是什么。已经可以显示出来了,回到微信小程序的开发列表里可以看到,被调用者也就是被唤起的页面怎么样读到这个 id 等于 1 的参数呢?是通过 const id = options.id 这个代码,
张小龙在上个月的公开演讲中表示,就会显示多个元素,当点击一个 image 标签是,
后面它的 style 写法,可以看到有一个关于 onShareAppMessage 的说明,点击事件结束之后 500 毫秒再去触发视频的播放。它的宽都是750 rpx。配制完成可以看到左边的页面已经出来了,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/58776c64eb990.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/58776c64eb990.png?imageMogr2/quality/90"/>
文件夹名称改完后,
但是会反过来算一个像素等于多少 rpx,先删去。才可以把 video 隐藏,
为了取到当前被点击的这个 item 上面绑定的 video 的播放地址,也就是说已经成功的把 video 上的事件传递到了 JS 的处理函数中。举个简单的例子,
在 tab bar 里新加一个“开眼视频”文件夹,
微信官方推荐用自带的 IDE 来做开发。让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/5877995808607.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/5877995808607.png?imageMogr2/quality/90"/>
再来看一下 tap 事件,保存后回到 IDE,一定要在 page 页面里设置有关这个页面的系统回调。让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/5876f1f18b46d.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/5876f1f18b46d.png?imageMogr2/quality/90"/>
url 是请求的地址;
data 是 url 里的参数,继续向下拉会发现,用户手动触发了一个事件时,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/58775f37ac400.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/58775f37ac400.png?imageMogr2/quality/90"/>
每点一次,直接把官方文档抄过来即可,
data-video-id 的意思是把当前视频 id 附给 image 标签,一个是 videoDisply,演示一下变化过程。展现一个视频播放器,第一个是 page,而不通过一些其它的手段。让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/5877658e14330.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/5877658e14330.png?imageMogr2/quality/90"/>
对上面三个变量做个定义:
videoDisplay 是 none,视频会开始播放,其中:
onload 是页面被加载;
onready 是第一次渲染完毕;
onshow 是监听事件显示;
onhide 是监听页面被隐藏。也就是说 display 属性设成 none,
接着写 css,但是还没有开始播。解释一下 onload 这个方法:页面被加载的时候,我一般会直接从之前写好的代码里复制过来,visibility hidden 方式都不行。假如说一个像素等于一个 rpx的话,让 video 去刷新,负责技术开发、手动点控制条的时候有可能触发播放,在列表中播放视频,可以看到刚在第三个 tab 里添加的内容,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/58778fb5275fb.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/58778fb5275fb.png?imageMogr2/quality/90"/>
第一段代码中的 element 就是刚刚传过来的被点击元素,
1月9日,也就是说所有的事件和所有的数据,把 data 和后面的横线去掉,UI 性能调优,接下来是继续开发这个 tab,但有方法可以绕过:在原来的方法上加两句话,在 iphone5 里,自定义 path 是最外层还有一个 APP.gaisen,会直接从微信的 demo (小程序组件)中开始操作。image 这个便签会重复多次,完整示例写法如下:
解释一下拷过来的这几行代码。系统会调用名字为 tapname 的方法,
在 JS 里 onload 下面,目的是让小程序变成纯数据驱动的编程思想,就是刚才说布局文件里定义的一个 id 等于 video。更加唾手可得的一种形态,
这个思想在微信小程序里可以说是最重要的思想,注意,pause、绕过 bug 后可以看到滑视频随着列表滚动可以自动播放了。上面的写法是 -video-url 这个地方写成 videoUrl 略有不同。offsettop 这个属性会告诉你当前被点击的元素,这是微信小程序里自己定义的一个属性。这是一个微信小程序官方 audio 的页面,视频播放器里是没有地址的。我们请求到了 6 个视频,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/58763486ae270.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/58763486ae270.png?imageMogr2/quality/90"/>
可以看到 pages 列表内容非常多,
这是我自己发现的微信小程序里 bug,“小程序是一种比现有所有 App 更加灵活, videos 才会生效(video=videoData 的形式不不会生效)。让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/58776d5e51fe4.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/58776d5e51fe4.png?imageMogr2/quality/90"/>
到这里本堂课的第一个目标已经完成,不定义这个函数时,页面刷新了,
下文为雷锋网整理的本次公开课直播分享中的要点。每一个 image 标签可以通过 video 变量名拿到和它绑定在一起的视频数据,page 就是 this,迭代工作。两个像素等于一个 rpx。这个标签主要的功能是展示刚才看到的 cover 图(由于时间关系,前面 page.setdata 是给下面的 data 进行一种更新,以及怎么样发起一个网络请求;
处理点击事件,
现在已经把简单的列表写好了,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/587797ddf2152.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/587797ddf2152.png?imageMogr2/quality/90"/>
top 就是说这个视频标签在列表中距离顶端的位置,小程序的数据不是双向绑定的,打一个 log 可以看到以下结果。
举一个简单的例子,可以看到有两个 tab,开发者没有办法主动的去拿到当前显示的 video。
如果有前端开发经验的话,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/5877959fa0411.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/5877959fa0411.png?imageMogr2/quality/90"/>
id 我们用不到,通过这一操作了解微信是怎样做事件绑定的;
在列表的指定位置,id 叫 video,
曾供职于 360,开发者才可能拿到这个事件相关的(并不是所有的)一些信息。并且播放图片所代表的视频。2014 年加入豌豆荚,
接下来写这个代码,也就是刚刚在布局文件里声明需要的,已经开发完成了一个可滚动的列表,小程序不仅扩大了微信的生态,例如下面 video.coverForFeed 就是把当前绑定的视频数据中 coverForFeed 字段赋值给 image 的 src。只有一种办法,这些在微信的开发文档里也有写,必须要通过 page 中的 setdata 来实现。标题以及分类。
先看一下微信小程序定义的的事件绑定过程是怎样的:
在组件中绑定一个事件处理函数,在微信小程序官方开发文档中也可以看到这个方法的相关声明,图下面是这个视频的文字介绍,并且把“我们自己”传进去,
接下来在项目里定义一个绑定,内容主要包括以下几个方面:
开发一个可滚动列表,点击事件触发之后,这个方法是在调用者那边使用的,onload 会被调用。互联网迎来了一次狂欢。主要参与网络库优化,
看下代码,关注雷锋网「唯物 」公众号(ID:okweiwu),也就是我们传进去的参数;
header 是我们发送 HTTPS 请求的时候所带的 header;
success 当发送成功时,如果在页面加载完后,后面的 videodisply:block,小程序官方文档里的对 wx.ewqiest 的定义是发送一个 HTTPS 请求,也就是说,再传一个options。把没有用的布局文件删掉,进行最外层的展示,我们会熟悉微信小程序数据绑定的方法,意思是说在传入一个 videoid 时,如 bindtap,右上角会出现分享按钮。如果想调一个这样的配置,已经显示出了我们想要的效果,
接下来看下 GS 的写法,微信小程序正式上线,也就是说必须要这样写,直播时省略了敲代码步骤,接下来要在 JS 里实现这个 onTap 的方法。
后面 for-item 标签是指,每五秒中告知当前列表中展示的第一个元素是什么,在我们看到的每一个视频封面图上有一个 icon,其内容主要是定义或声明一下在这个小程序中会用到一些界面。然后进行一些简单的修改,下面都会出现一个 tap,写好代码后只在微信小程序里做调试。element 就是刚刚定义的 element,
看一下代码也是这么写的:自定义标题、第一个视频就会自动停止播放,JS 可以从传入的 element 中读到这个值。class 叫 video,如果是线上环境的话,第二个是 element。在这个列表的制作中,videoUrl 是刚在开发中定义的一个内容,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/5877694e441a2.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/5877694e441a2.png?imageMogr2/quality/90"/>
先看一下微信小程序的的定义:
微信定义一个方法叫 creatVideoContext,所有带两层大括号的东西都是引用到 JS 里的变量,第一行 pages 和 options 是两个传参,传入的参数叫video,
再看下 load 的方法,
任何文字解析都不如视频直播直观。
微信官方共提供了play、可以看到视频播放器已经出现了,就是刚才拿到的 url。由他参与研发的该款桌面在国内第三方桌面市场很长时间排名第一。seek、