导航:首页 > 编程语言 > 微信小程序current

微信小程序current

发布时间:2023-02-22 09:28:05

微信程序多个视频组件同时播放

首先说一下我的应用场景, 在小程序中会有多个页面存在视频组件的情况, 为了防止视频播放时多个视频组件同时播放的情况,现记录一下方案: 一. 可以在需要视频播放的地方弄一个视频播放的按钮, 当视频播放的时候再初始化视频组件, 保证整个应用内只有一个视频组件(视频组件的位置需要计算), 整个方法只是理论下的情况; 二. 在app.js中 设置两个对象, currentVideoId(播放视频组件的id)和videoContext(当前播放视频的对象, 通过wx.createVideoContext方法获得), 在页面的js中控制, 保证video组件绑定play方法:  <video src="url" bindplay="play"></video> 在play方法中实现即可: var id = e.currentTarget.id;       if (id != null) {         if (app.currentVideoId != id) {           if (app.videoContext != null) {             app.videoContext.stop();             console.warn("暂停");           }           app.currentVideoId = id;           app.videoContext = wx.createVideoContext(id);         }       }因为currentVideoId 和videoContext是唯一的对象, 方法中播放监听事件会暂停之前的播放, 然后再赋值, 等下次video播放监听进来的时候, 会进行判断 三. 包含富文本组件的视频组件同时播放的情况 依据上面的例子, 当自定义富文本组件中包含多个video组件时也用上面的方法会产生错误, 虽然log会显示将执行视频暂停或者停止播放, 但是没有效果, 查看 视频api , 提示 根据api显示, id为video组件的id, 还有一个"Object this", 但是依据上面的api使用, 直接用id确实可以获取video对象, 但是api解释中提示, "在自定义组件下,当前组件实例的this,以操作组件内 video组件", 在自定义组件中, 要加this, 所以总结: 在上面api使用中, 如果video在pages页面中, wx.createVideoContext参数只写id没有问题, 但是当video在自定义组件中, 要必须加this, 才能正确返回VideoContext对象;

Ⅱ 微信小程序开发常用知识点

与iOS开发很相似,小程序的导航栏也可以全局设置一下,在公共文件app.json中设置了导航栏相关样式如下:

这个地方是全局设置,如果想要在不同的页面设置各自的标题属性,只需要在该子级文件中设置

子页面想调用共公js的方法,需先在子页面js中先实例化app:具体过程如下

在需要调用的子页面中,

如果是嵌套循环,很容易出现多个list和index,例如表视图一样,所以在小程序中可以重命名 list 和index 方法为:wx:for-index='重命名' wx:for-list="重命名"

在APP开发中,UI复用是一个很好的手段,在小程序上就是模板template。
在逛小程序联盟的时候发现了一个大湿总结的比我好,搬过来一下。

微信小程序中,如果几个页面中需要引用同一个header/footer,当定义了公共模板时,有两种引用方法如下:
方法一:在公共模板中定义template元素,利用 方法 ,这种方式只会显示公共模板的template里面的内容,之外的内容不会显示

** 方法二:**

总结:import方式和imclude方式的不同在于前者仅引用公共模板中的template里面的内容后者仅引用template以外的内容,显而易见,include方式更简单一些,在wxml中只需要一句话即可。

rpx单位是微信小程序中css的尺寸单位,rpx可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px。
具体的 这里有一片文章介绍的很详细 , 还有这个

小程序的事件主要有:

小程序中的wxml中绑定事件有两种:以touchtab为例 ,在wxml中必须有bind/catch不然无法实现上述事件
bindtouchtab和catchtouchtab bind的不会阻止事件冒泡(元素最里层到最外层函数执行),catch会阻止冒泡,只是冒泡到当前层结束

如果想在元素执行某事件时把元素的某个属性传到后台 可在元素中加入data-属性名称=“xxx”,在事件函数中 function(event){}的event中的currentTarget里面的data-set里面可查看接收在元素中绑定的的id或者其他属性clientX/Y 查看滑动手指距离屏幕左侧的位置,查看滑动位置也可以通过touchstart和和touchend的clientx/y获取

看到几个别人写的,瞬间石化,果断收藏。

在小程序中,定义了一项工具文件utils,此文件的js旨在本文件之内有效,当其他子页面想调用其中的js方法或者变量时,需要两步骤:
1:在utils被调用的js文件中,面向对象的方式模型输出: mole.exports={要调用的函数名称:要调用的函数名称 };
2:在要调用的js文件中模块化引入utils的js文件 var object=require("utils被调用的js文件地址"); 可以输出一下object就能看到被调用的方法了;
例子如下:

要调用的js文件:

小程序的后台获取数据方式get/post具体函数格式如下:wx.request({})

如果屏幕中某元素的内容超过此元素的高度,可设置元素为scroll-view 为滚动状态元素,这样可以做到元素固定高度且元素内容滚动屏幕不滚动的效果;

scroll-view标签的主要属性分为以下几种:

微信小程序广告轮播元素 图片所在元素/swiper-item>
其中属性有:

图片更改事件:bindchange='imgchange' imagechange()的e.detail.current为当前显示页面的下标值

Ⅲ 微信小程序 导航栏切换视图

效果图

.wxml页面

<!-- nav导航 -->

<view class="goods">

  <block wx:for="{{tab}}" wx:key="key">

    <view class="{{item.style}}" bindtap="tarClick" data-index="{{index}}">{{item.titcle}}</view>

  </block>

</view>

<!--导航下  视图滑块 -->

<swiper bind:change="changeTab" current="{{index}}">

   <block>

     <swiper-item>

     <text>11111</text>

     </swiper-item>

     <swiper-item>

     <text>2222</text>

     </swiper-item>

     <swiper-item>

     <text>3333</text>

     </swiper-item>

   </block>

</swiper>

.js页面

Page({

    data: {

       tab:[

         {titcle:"商品参数",style:"color"}, 

         {titcle:"商品介绍",style:""},

         {titcle:"商品规格",style:""},

        ],

        index:0,

       goods:''

    },

       tarClick(e){

          //  console.log(e.currentTarget.dataset.index)

           let tab = this.data.tab;

          let that = this;

          let index = e.currentTarget.dataset.index

           console.log(index)

          tab.map((item,key)=>{

           if(key==index)

           {

              tab[key]['style']='color';

           }else{

             tab[key]['style']='';

           }

          })

          that.setData({tab,index})

       },changeTab(e){

          console.log(e.detail.current)

          let tab = this.data.tab;

          let that = this;

          let index = e.detail.current

           console.log(index)

          tab.map((item,key)=>{

           if(key==index)

           {

              tab[key]['style']='color';

           }else{

             tab[key]['style']='';

           }

          })

          that.setData({tab,index})

       },

})

.wxss页面

/* pages/details/details.wxss */

.goods{

    width: 100%;

    height: 100rpx;

    /* background-color:yellowgreen; */

    display:flex;

    justify-content: space-around;

    align-items: center;

}

.goods view{

    width: 160rpx;

    height: 100rpx;

    display: flex;

    justify-content: center;

    align-items: center;

}

.color{

    color: red;

    border-bottom: 2px solid red;

}

Ⅳ 微信小程序开发怎么让图片符合图片播放

具体步骤:
1、首先打开微信开发者工具。
2、在项目文件目录中打开swiper.wxml文件。
3、然后设置swiper标签。
4、使用current属性来设置当前要播放哪张图片。
5、在swiper-item里面设置好要播的图片。
6、打开模拟器,显示绿色表示开启。
7、在窗口中我们可以看到当前播图的图片就是我们刚才所设置的。【点击了解更多加盟项目】

Ⅳ 微信小程序--swiper中current问题

2019/2/22

index.wxml文件

index.js文件

图片数组 imageArr 动态的改变数组的数量,

例如:当 imageArr 中的长度为4,轮播滚动到 3 ,current=3;此时swiper没有绑定current,并将 imageArr 的长度动态改为2,这会出现current还是3,导致swiper不显示的问题。

解决:

index.wxml 中在swiper中绑定current

index.js 中增加current

Ⅵ 微信小程序bindchange是什么事件

bindChange为输入框发生改变事件。微信提供的bindchange在支持方面还有小问题,目前是失去焦点才能触发到此事件的发生。

如果在bindchange的事件回调函数中使用setData改变current值,则有可能导致setData被不停地调用,因而通常情况下请在改变current值前检测source字段来判断是否是由于用户触摸引起。

swiper里加了bindchange事件,有很多个swiper-item,连续快速切换swiper-item触发bindchange事件,小程序会出现一直无限触发bindchange事件。请检查是否在change事件中使用setData改变current值,请避免该操作。

(6)微信小程序current扩展阅读

bindchange是swiper组件的属性之一,类型为eventhandle。

current改变时会触发change事件,event.detail={current,source}。当滑块的current改变时会触发该事件并执行绑定的方法。

swiper组件是小程序中使用频次最高的组件之一,属于视图容器类组件,它通过对自身属性进行简单配置就可以实现在前端开发中要写很多代码才能完成的轮播图效果。

Ⅶ 微信小程序页面返回传递参数

let userInfo = {...};     //需要传递的参数,这里用对象举例。

let pages = getCurrentPages();    //返回pages的所有信息;数组格式

let prevPage = pages[ pages.length - 2 ];     //返回上一个页面的所有信息  上一级为-2

prevPage.setData({

user:userInfo      //user为上个页面需要修改的数据,如data里面的数据,数据格式要对应。

});

wx.navigateBack({

delta:1      // 返回上一级页面。

})

Ⅷ 微信小程序 getCurrentPages获取当前页面栈

通常小程序直接页面传值是通过 url 拼接或利用 storage 。
比如在订单确认页面需要进行收货地址选择会进入到地址选择页面,这个订单确认页面与地址选择页面的通讯就很头疼。
而 getCurrentPages() 刚好解决了这一难题。

使用方法

Ⅸ 微信小程序页面常用的5种跳转方法

为了不让用户在使用小程序时造成困扰,微信小程序规定页面路径只能是 五层 ,所以需尽量避免多层级的交互方式。 而页面跳转则涉及到多个页面层级。 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔; 如 'path?key=value&key2=value2' eg: wx.navigateTo({     url:'test?id=1' }) 这种跳转方式默认有返回按钮,返回到上一个页面 关闭当前页面,跳转到应用内的某个页面。 需要跳转的应用内非 tabBar 的页面的路径,路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔; 如 'path?key=value&key2=value2' eg: wx.redirectTo({     url:'test?id=1' }) 这种跳转方式默认有返回按钮,返回到上一个页面的再上一层 需要跳转的应用内页面路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔; 如 'path?key=value&key2=value2',如果跳转的页面路径是 tabBar 页面则不能带参数 eg: wx.reLaunch({     url:'test?id=1' }) 这种跳转方式默认没有返回按钮,不需要默认返回按钮的页面就可以使用这个api了 需要跳转的 tabBar 页面的路径(需在 app.json 的  tabBar  字段定义的页面),路径后不能带参数 {     "tabBar": {         "list": [{             "pagePath":"index",             "text":"首页"         },{             "pagePath":"other",             "text":"其他"         }]     } } wx.switchTab({ url:'/index' }) 我们需要调转到tabbar定义的页面的时候,就需要这个api了。踩过这个坑的人就知道,除了这个api,其他的都不能跳转到tabar定义过的页面 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages()) 获取当前的页面栈,决定需要返回几层。
阅读全文

与微信小程序current相关的资料

热点内容
u盘打不开提示找不到应用程序 浏览:609
网站功能介绍怎么写 浏览:954
word在试图打开文件时错误 浏览:108
主板无vga插槽怎么连接编程器 浏览:521
录视频文件在哪里删除 浏览:881
word2013如何插入文件 浏览:233
proe教程百度网盘 浏览:197
如何控制远程linux服务器 浏览:740
it教学app有哪些 浏览:34
怎么在ps抠的图变成矢量文件 浏览:405
口袋妖怪银魂安卓v11 浏览:1
网站上芒果tv的账号都是什么 浏览:104
带公式的表格如何刷新数据 浏览:81
数据标注语音和2d哪个好 浏览:145
保存excel文件的方法 浏览:655
手机上看不到电脑上的文件 浏览:626
关于ps的微信公众号 浏览:612
矩阵论教程 浏览:971
字体文件分系统吗 浏览:921
编程一级考试要带什么证件 浏览:923

友情链接