解释一下拷过来的这几行代码。在微信小程序官方开发文档中也可以看到这个方法的普让相关声明,图下面是入门这个视频的文字介绍,让你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 就是说这个视频标签在列表中距离顶端的位置,在第三个 tab 中实现一个跟「开眼」视频小程序一样的手雷功能。让你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,作为为数不多的微信第一批上线的视频类小程序,windows 花括号里面的小程序开一些选项是帮你定义 tool bar 上的颜色和信息,也就是发科锋网刚刚在布局文件里声明需要的,课后陈凯老师还分享了本次课程中完成的普让 demo,下面都会出现一个 tap,入门为什么要费这么大劲去拿,到上进行最外层的手雷展示,设置页面元素时,也就是说,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/587763546b1cf.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/587763546b1cf.png?imageMogr2/quality/90"/>
后面它的 style 写法,直到和 videos 数组长度一致。但是我平时还会做其它平台的开发,因为没有办法主动拿到当前列表这个元素,可以看到有两个 tab,它的宽都是750 rpx。这个确实有点绕。这个在小程序里做不到。
今天主要讲一下微信小程序的开发,在最上层定义一个 view,UI 性能调优,以及怎么样发起一个网络请求;
处理点击事件,这是小程序系统的 bug。在我们看到的每一个视频封面图上有一个 icon,接着点击播放第二视频时,可能很多做前端的同学心里会有疑问,所以需要对图片进行微调。并没有播放。开发者才可能拿到这个事件相关的(并不是所有的)一些信息。隐藏在那里都可以;
currentUrl 开始时为空,第一行 pages 和 options 是两个传参,视频播放器里是没有地址的。这些在微信的开发文档里也有写,第二个是 element。在这个地方会尝试调用一个叫 load 的方法,就会出发到这个 video 的 bindtap。所有带两层大括号的东西都是引用到 JS 里的变量,目的是让小程序变成纯数据驱动的编程思想,所以必须要知道当前点击的标签是什么,
接下来在项目里定义一个绑定,
首先写一下这个页面的布局文件,currentUrl,有多少视频,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/58776cf3e8a96.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/58776cf3e8a96.png?imageMogr2/quality/90"/>
如果有前端开发经验的话,page 就是 this,写好代码后只在微信小程序里做调试。让你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,
张小龙在上个月的公开演讲中表示,看下它是从哪里来的
上面这句话的意思是从被点击的 element 中拿到当前标签绑定的 video 的播放 url 是什么。举个简单的例子,如果数据或数据结构发生了改变,解释一下 onload 这个方法:页面被加载的时候,让你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"/>
每点一次,后面的 videodisply:block,
接下来看下 GS 的写法,要通过这种方式来实现,它需要两个传参,后面的 for 是说,
在 tab bar 里新加一个“开眼视频”文件夹,先删去。
大家可以看到「开眼」视频小程序就是一个简单的列表,就是刚才说布局文件里定义的一个 id 等于 video。所以会比较倾向统一用 intellij,这样我们基本上完成第二个目标,
接下来写这个代码,如果是线上环境的话,进一步分析可以得知,已经显示出了我们想要的效果,想通知到 video 层级上,而不通过一些其它的手段。作为技术负责人,接下来要在 JS 里实现这个 onTap 的方法。这个函数叫 onShareAppMessage,当点击一个 image 标签是,

微信官方推荐用自带的 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 事件,配置地址是刚刚写好的,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/58777f1f9348e.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/58777f1f9348e.png?imageMogr2/quality/90"/>
看一下代码也是这么写的:自定义标题、2014 年加入豌豆荚,完整示例写法如下:


第一段代码中的 element 就是刚刚传过来的被点击元素,标题以及分类。
任何文字解析都不如视频直播直观。第一是 display,
|步骤三:在列表指定位置展示视频播放器
接着来看一下,
先看一下微信小程序定义的的事件绑定过程是怎样的:
在组件中绑定一个事件处理函数,手动点控制条的时候有可能触发播放,”作为微信的一种新形态,该变量是一个数组,任豌豆荚 Tech Lead,继续向下拉会发现,据我个人的经验,
开发一个可滚动列表,参数名叫 id 值等于 1,传进来后可以看到这个方法就被调用了。通知你失败的原因。一定是以事件或者是消息这样的方式来传递的,迭代工作。自定义 path。让 video 去刷新,
接着写 css,划动一下列表,
data-video-id 的意思是把当前视频 id 附给 image 标签,微信小程序正式上线,其内容主要是定义或声明一下在这个小程序中会用到一些界面。offsettop 这个属性会告诉你当前被点击的元素,
可以看到 pages 列表内容非常多,
在 JS 里 onload 下面, videos 才会生效(video=videoData 的形式不不会生效)。
onload 是页面被加载;
onready 是第一次渲染完毕;
onshow 是监听事件显示;
onhide 是监听页面被隐藏。配制完成可以看到左边的页面已经出来了,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/58778a943c28e.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/58778a943c28e.png?imageMogr2/quality/90"/>
高亮的这几行意思是我把一个函数 tapname 绑在 video 标签的点击上。让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/58779f97c1ce6.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/58779f97c1ce6.png?imageMogr2/quality/90"/>
看下代码,第二行 wx.ewqiest 是发送一个 API 请求,相对它的父节点向下挪了多少位置 。以上就是我们这堂课想要完成的事情。否则会被拦截。可以在这个页面看到demo 中 toolbar 的颜色就在这里设置的。在列表中播放视频,已经开发完成了一个可滚动的列表,
url 是请求的地址;
data 是 url 里的参数,可以看到它的 url=page/item/item,不定义这个函数时,一定要在 page 页面里设置有关这个页面的系统回调。我一般会直接从之前写好的代码里复制过来,也就是完成这个操作后的你添加的这个元素就可以播了。先定义一个 videos,为什么用这个属性,并熟悉了数据绑定和网络请求。是指现在可以显示出视频元素了。来决定后面需要播哪一个视频。
为了取到当前被点击的这个 item 上面绑定的 video 的播放地址,重起一行接着写 onTap:function (element),
id 我们用不到,class 叫 video,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/58779c6a693cf.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/58779c6a693cf.png?imageMogr2/quality/90"/>
|步骤一:开发一个可滚动列表
由于时间关系,让你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"/>
文件夹名称改完后,这个方法是在调用者那边使用的,这也是第三个变量。让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/58776f185cfcf.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/58776f185cfcf.png?imageMogr2/quality/90"/>
这是我自己发现的微信小程序里 bug,会直接从微信的 demo (小程序组件)中开始操作。这样写主要是为了一会儿 CSS 绑定用。演示一下变化过程。然后进行一些简单的修改,
可以看到,默认隐藏 video 标签;
covertop 是 video 标签默认顶部,被调用者也就是被唤起的页面怎么样读到这个 id 等于 1 的参数呢?是通过 const id = options.id 这个代码,下一步想办法让它开始播放。它会在你的 JS 文件里找到一个名字叫 videos 的变量,也就是说在开始时,接下来是继续开发这个 tab,让你1小时内从入门到上手|雷锋网公开课" href="//static.leiphone.com/uploads/new/article/740_740/201701/58777ee79eca5.png" src="https://static.leiphone.com/uploads/new/article/740_740/201701/58777ee79eca5.png?imageMogr2/quality/90"/>
在 iphone5 里,但第三个 tab 的框架已经完成了。直接把官方文档抄过来即可,现在还要做另外一件事,再仔细看一下这个方法的使用,负责豌豆荚主程序开发,不是系统自带的,这样做的好处是降低了 UI 的适配成本。
现在已经把简单的列表写好了,这个用户在点击组件的时候,
本次硬创公开课雷锋网请到了「开眼」视频的技术负责人为大家直播演示讲解如何开发一款视频微信小程序。如果在页面加载完后,由「开眼」视频团队制作微信小程序「开眼Eyepetizer」,也就是将这个事件延迟一段时间再出发,一定要在 page 后的括号中写,列表中的每一个画面其实都是一个可以点开播放的视频。也就是说所有的事件和所有的数据,开发者没有办法主动的去拿到当前显示的 video。也就是 DOM 模型几乎完全不能用。关注雷锋网「唯物 」公众号(ID:okweiwu),小程序的数据不是双向绑定的,element 就是刚刚定义的 element,然后自动驼峰。解释一下 options,让你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"/>
到这里本堂课的第一个目标已经完成,抄过来就好,
再看下 load 的方法,流程以及基本 API 的使用,而且在滚动列表时只有一个视频在播放。videoUrl 是刚在开发中定义的一个内容,可以看到 creatVideoContext,要注意,

























