アプレット研究ノート(1)

1.登録アプレット

----------
用App() 函数来注册一个小程序。接受一个 Object 参数,其指定小程序的生命周期回调等。它必须在 app.js 中调用,必须调用且只能调用一次。不然会出现无法预期的后果。
フォアグラウンド、バックグラウンドの定義:ユーザーがクリックするには、デバイスのホーム左上隅、またはプレスを閉じ
、出口マイクロチャネルにボタン、およびアプレットを直接破壊されますが、背景にはない、マイクロ文字入力するか、再度アプレットを再開いたときに、バックグラウンドからフォアグラウンドに入ります。なお:だけの小さなプログラムをバックグラウンドに、特定の時間またはシステムリソースが高すぎると、実際の破壊になります。
App({
  onLaunch: function(options) {
    // 小程序初始化完成时(全局只触发一次)
    options包含小程序的初始path,query,scene(场景值),shareTicket,referrerInfo.appId,referrerInfo.extraData(scene=1037或1038时支持)
  },
  onShow: function(options) {
    // Do something when show.小程序启动,或从后台进入前台显示时
    参数与onLaunch一致
  },
  onHide: function() {
    // Do something when hide.小程序从前台进入后台时
  },
  onError: function(msg) {
    console.log(msg)
    //小程序发生脚本错误,或者 api 调用失败时触发,会带上错误信息
  },
onPageNotFound:function(){
    //页面不存在监听函数, 小程序要打开的页面不存在时触发,会带上页面信息回调该函数
    不存在页面的path,打开不存在页面的query,是否是本次启动的首个页面isEntryPage
}
> 开发者可以在 onPageNotFound 回调中进行重定向处理,但必须在回调中同步处理,异步处理(例如 setTimeout
> 异步执行)无效
App({
  onPageNotFound(res) {
    wx.redirectTo({
      url: 'pages/...'
    }) // 如果是 tabbar 页面,请使用 wx.switchTab
  }
})
> 如果开发者没有添加 onPageNotFound 监听,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。
如果 onPageNotFound 回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再回调 onPageNotFound。

  globalData: 'I am global data'
})

2.登録ページ

ページ(オブジェクト)関数は、ページを登録するために使用されます。初期データ・ページを指定するオブジェクトの型パラメータを取る、ライフサイクルコールバック、イベントハンドラのように。
ライフサイクル:

Page({
  data: {
    text: "This is page data."
  },
  onLoad: function(options) {
    // Do some initialize when page load.监听页面加载
    options中有打开当前页面路径中的参数
  },
  onReady: function() {
    // Do something when page ready.监听页面显示
  },
  onShow: function() {
    // Do something when page show.监听页面初次渲染完成,代表页面已经准备妥当,可以和视图层进行交互
  },
  onHide: function() {
    // Do something when page hide.监听页面隐藏,如 navigateTo 或底部 tab 切换到其他页面,小程序切入后台
  },
  onUnload: function() {
    // Do something when page close.监听页面卸载,如redirectTo或navigateBack到其他页面时。
  }
})

ページイベントハンドラ:

  • onPullDownRefresは
    、ユーザーのドロップダウンリフレッシュイベントを監視します。
ウィンドウまたはページapp.json設定オプションで開く必要がEnablePullDownRefresh。
これは、ドロップダウンリフレッシュトリガアニメーション、エフェクト、一貫したユーザーマニュアルプルダウンリフレッシュを呼び出した後、ドロップダウンリフレッシュwx.startPullDownRefreshによってトリガすることができます。
処理されたデータを更新すると、wx.stopPullDownRefreshは、現在のプルダウン停止ページを更新することができます。
  • onReachBottom()
    ユーザーへのモニター・イベントを底プル。
あなたは、ウィンドウまたはページapp.json設定オプションでトリガー距離onReachBottomDistanceを設定することができます。
摺動距離の間のトリガでは、イベントは一度だけトリガされます。
  • onShareAppMessage:

    ページの右上に進むボタン(<ボタン>コンポーネント開放型=「共有」)、メニューやモニターユーザーフォワード」ボタンの動作をクリックし、転送するコンテンツをカスタマイズ
    オブジェクトパラメータを:

       from:为button时,代表页面内转发按钮,为menu时表右上角转发
       target:如果 from 值是 button,则 target 是触发这次转发事件的 button,否则为 undefined
       webViewUrl:页面中包含<web-view>组件时,返回当前<web-view>的url
注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮
此事件需要 return 一个 Object,用于自定义转发内容,返回内容如下:
    转发标题title:当前小程序名称
    转发路径path:转发路径
    imageUrl:自定义图片路径

}、

  • onPageScroll
    オプション、すなわち、ページが垂直方向距離(PX)にscrollTopスプライト、スクロールされているました
  • onTabItemTap
    現在のタブページでは、タブをクリックしたときにトリガさ
    はconsole.logを(item.index)
    はconsole.log(item.pagePath)
    はconsole.log(item.Text)
  • カスタムアセンブリイベント処理
    viewTapを:関数(){
    this.setData({

     text: 'Set some data for updating view.'

    }、 関数() {

     // this is setData callback

    })
    }

3.ルート

  • getCurrentPages()

画像のキャプション

  • ()getCurrentPages
    アレイスタックの形で与えられた順序で、現在のページのスタックのインスタンスを取得するためには、最初の要素は、ページ、現在のページの最後の要素です。
ルーティングエラーやページの状態を引き起こす可能性があり、ページのスタックを変更しようとしないでください。
App.onLaunch時間()内getCurrentPagesを呼び出さないでください、そしてページが生成されていません。

ページスタック

navigateTo、redirectTo唯一のオープン以外のTabBarページ。
switchTabのみオープンTabBarのページ。
再起動は、任意のページを開くことができます。
ページのTabBarの底部は、それがタブバーページとして定義されている限り、ページによって決定され、底部は、タブバーを有しています。
パラメータページをコールルーティングは、ターゲット・ページでのonLoadでご利用いただけます。

タブの切り替え

おすすめ

転載: www.cnblogs.com/homehtml/p/11823450.html