小程序基础

189 阅读3分钟

前言

人生果然处处充满着惊吓,上次拿到几个offer之后,去了一家薪资待遇很不错的公司,上班第一天,就告诉我,他们这个项目设计稿上个月就定稿了,蓝湖上面的UI图已经裁剪完毕了,后端已经写好接口了,我想着是不是只用对接口就行了,结果产品告诉我,不是,前端还没开始写,下周交项目。。。,看了一下蓝湖,50多个页面,一字没写,下周交,我,呵呵。。,我怕不是没睡醒,为了来这家公司,其他的offer全推了,结果,心态炸裂,晚上下班辞职走人,继续找工作。。。

商品详情

又经过一周的努力,来了一家感觉很不错的公司,不过面试的时候,问的全是Vue.js的问题,项目讲解,甚至线上演示,都是Vue.js,结果入职之后,告诉我,他们要开发小程序,我。。。,好吧,一年没碰过小程序了。。。

查看商品详情

通过点击该商品,跳转到与该商品对应的详情页面,通过小程序开发文档,可以得到:如果一个页面由另一个页面通过wx.navigateTo打开,这两个页面将建立一条数据通道:被打开的页面可以通过this.getOpenerEventChannel()方法来获得一个EventChannel对象;wx.navigateTosuccess回调也可以包含一个EventChannel对象,这两个EventChannel对象间可以通过使用emiton方法互相方式、监听事件。

小程序开发文档

  1. 在商品列表展示页面的.js文件中定义页面跳转方法
datailFn(){
  // 采用wx.navigateTo方法来跳转页面
  wx.navigateTo({
    // 详情页面的位置
    url: '../detail/detail',
    // 成功时跳转页面,并传递数据
    success:(res)=>{
      // 通过eventChannel向跳转页面(详情页面)传递数据
      res.eventChannel.emit('acceptDataFromOpenerPage',
      {goods:this.data.goods})
    }
  })
  // 将数据传递到跳转的页面
}

2.在商品详情页面的.js文件中定义onLoad方法来获取数据

// 在跳转到的页面(详情页面),通过EventChannel.on来获取数据
onLoad(option){
   const eventChannel = this.getOpenerEventChannel()
   //监听acceptDataFromOpenerPage事件,获取跳转页面(商品列表页面)
   // 通过eventChannel传递过来的数据
   eventChannel.on('acceptDataFromOpenerPage',data =>{
     this.setData({
       goods:data.goods
     })
   })
 //跳转的页面获取的数据
 }

查看商品详情结束

详细内容

小程序页面内分享

在开发小程序的时候,经常需要用到分享功能,有的采用小程序自带的左上角的转发分享,有的是页面内单独的一个分享/转发按钮,实现方法如下:

  1. 通过button按钮,设置open-type='share'属性,可以实现用户点击页面内的转发/分析按钮后,触发Page.onShareAppMessage事件,实现过程如下: 2.在需要的转发/分享的.wxml文件中添加如下代码 <button open-type="share">转发/分享</button> 3.在对应的.js文件中添加onShareAppMessage方法
  onShareAppMessage:function(res){
    var that = this;
    if(res.from === 'button'){
    //console.log('页面内分享/转发')
    }else if (res.from === 'menu'){
    //console.log('页面右上角分享/转发')
    }
    //返回数据(添加转发/分享的数据)
    return{
    title:that.data.info.name,
    //添加转发/分享的页面(整个页面)
    path:'/pages/detail/detail',
    //添加转发/分享的商品
    // path:'/pages/food/info?id=' + that.data.info.id,
    success:function(res){
    //转发成功
    },
    fail:function(res){
    //转发失败
     }
     }
    }

最后

可能进一家公司,面试的内容和用到的完全完全没有一丁点关系,不过就当学习了,毕竟多掌握一门技术,找工作总是会容易一些,在此特别提示,最好拿到offer后,问一下,他们公司现在做的项目,进度怎么样了,排期多久,不要去了之后,发现一个项目,前端一个字没写,下周交,心态炸裂!!!