WeChat ミニ プログラム コンポーネントと関数のカプセル化、シンプルなコンポーネント プログラミング
WeChat のコンポーネント カスタム コンポーネントのカプセル化、単純なコンポーネント プログラミングに基づいて、コンポーネント カスタム コンポーネントについてはコンポーネント API を参照してください。
WeChat 開発者ツールで ES6 から ES5 への変換機能を有効にする必要があることに注意してください。バージョン1.6.3
以降のミニ プログラム ベース ライブラリを使用し、WeChat を最新バージョンに更新してください。
WeChat アプレットと Alipay アプレットを開発するために一連のコードが必要な場合は、mpapi プラグインが役立つ場合があります (WeChat アプレットと Alipay アプレット API 互換プラグイン)
WeChat 開発者ツールを使用してsrc
ディレクトリを開いてください。
├─images ---------- 公共图片
├─js -------------- 公共的JS
│ └─common ---------- 公共方法函数封装
├─components ------ 自定义组件和第三方组件
│ ├─libs ------------ 第三方库
│ └─weapp ----------- weapp组件
├─pages ----------- 页面目录
│ ├─index ----------- 首页
│ ├─libs ------------ 第三方库页面
│ └─weapp ----------- weapp组件页面
├─app.js
├─app.json
├─app.wxss
└─README.md
usingComponents
の参照ステートメントを構成する必要があります。 // page.json
{
"usingComponents" : {
"weapp-toast" : "/components/weapp/toast/toast" ,
"weapp-tab" : "/components/weapp/tab/tab"
}
}
<!-- page.wxml-->
< weapp-toast title =" {{ toastTitle }} " bind:hide =" onToastHide " />
< weapp-tab list =" {{ list1 }} " active-index =" {{activeIndex}} " bind:change =" onTabChange " />
以下にTab
コンポーネントの簡単な使用法を示します。具体的な例については、プロジェクト内のpages/weapp/tab
のコードを参照してください。他のタイプのコンポーネントの使用は、基本的にこの呼び出しメソッドと同様です。
// tab.json
{
"navigationBarTitleText" : "Tab" ,
"usingComponents" : {
"weapp-tab" : "/components/weapp/tab/tab"
}
}
<!-- tab.wxml -->
< weapp-tab list =" {{ list1 }} " active-index =" {{activeIndex}} " bind:change =" onTabChange " />
// tab.js
Page ( {
data : {
list1 : [ '选项1' , '选项2' , '选项3' ]
} ,
handlerSelect ( ) {
this . setData ( {
activeIndex : 1
} ) ;
} ,
onTabChange ( event ) {
console . log ( event . detail . activeIndex )
}
} )
モバイル開発で一般的に使用される Toast コンポーネントであるフローティング プロンプトは、ミニ プログラムの showToast とは異なります。
title
プロンプト情報delay
自動シャットダウンの遅延時間 (ミリ秒単位)、デフォルト: 1500
hide
を閉じた後のコールバック < weapp-toast title =" {{ toastTitle }} " bind:hide =" onToastHide " />
タブ
list
タブのタイトルactive-index
選択されたインデックス、デフォルト: 0
theme
テーマ スタイル (デフォルトでは空) は、 weapp-tab
または他のカスタム スタイルに渡すことができますchange
event
、 event.detail.activeIndex
は現在選択されているインデックスです < weapp-tab list =" {{ list1 }} " active-index =" {{activeIndex}} " bind:change =" onTabChange " />
都市の選択
region
プロンプト情報change
。パラメータは、 event
ですevent.detail.region
は、選択された領域の情報です。 < weapp-city-picker show =" {{isCityPickerShow}} " bind:change =" onChangeCity " />
さらにロードします。データプロンプトはありません。通常はプルアップデータリストとともに使用されます。
icon-type
アプレット アイコン コンポーネントのタイプ、デフォルト: search
status
現在のステータス、オプションの値: loading
、 nomore
、 empty
、データはまだありません、デフォルト: loading
empty-txt
はデータ プロンプト テキストがありません。デフォルト:暂无数据
loading-txt
読み込みプロンプトテキスト、デフォルト:正在加载
nomore-txt
はプロンプト テキストがありません。デフォルト:没有更多数据了
< weapp-loader status =" {{status}} " />
最大 12 個の矢印方向をサポートするポップアップ メニューで、ほとんどのシナリオに対応します。
list
page-selector
ページ全体の最も外側のコンテナーの CSS セレクター。デフォルトは.page
です。elem-id
が要素の ID に従って配置されるかdir
矢印の方向、オプションの値tl tc tr rt rc rb bl bc br lt lc lb
、それぞれ上、右、下、左、中央の 12 の組み合わせた方向を表しますtl
top-left
に相当しますtc
top-center
に相当しますtr
top-right
に対応しますrt
right-top
に対応しますrc
right-center
に対応しますrb
right-bottom
に対応しますbl
bottom-left
に相当しますbc
bottom-center
に相当しますbr
bottom-right
に相当しますleft-top
に対応しlt
lc
left-center
に対応しますlb
left-bottom
に相当しますselect
。パラメータはevent
event.detail.item
は現在選択されているアイテムです。show
hide
< weapp-popover list =" {{list}} " dir =" {{dir}} " elem-id =" {{elemId}} " show =" {{show}} " bind:select =" onSelectPopover " />
重要なヒント
title
プロンプト情報type
種類、 success
、 error
、 warn
、デフォルト: default
delay
自動シャットダウンの遅延時間 (ミリ秒単位)、デフォルト: 1500
hide
を閉じた後のコールバック < weapp-toptip type =" {{ type }} " title =" {{ title }} " />
カレンダー選択は複数月のスライド切り替え表示に対応しており、左右クリックで月を切り替えたり、今日に切り替えたりできます。
start-date
開始日end-date
終了日current-date
デフォルトで選択された日付show
表示するかどうか、デフォルト: false
current
デフォルトで最初の月を表示します。デフォルトは0
です。 event
change
。ここで、 event.detail.currentDate
は現在選択されている日付です。 < weapp-calendar-picker start-date =" 2017-07-07 " end-date =" 2018-08-08 " show =" {{ isCalendarPickerShow }} " bind:change =" onChangeDate " />
ページの転送と共有により、各ページの複雑な構成が不要になり、ページ受け渡しパラメーター オプションがサポートされ、より簡単かつ効率的に使用できるようになります。
title
表示されるタイトルurl
によって転送されるページアドレス。デフォルトは現在のページアドレスです。 import common from '../../assets/js/common' ;
// common.share([title], [url])
Page ( {
onShareAppMessage : common . share ( )
} ) ;
型判定、 Number
、 String
、 Boolean
、 Array
、 Object
、 Function
などの型文字列を返す
value
判断する必要があるパラメータです。 import common from '../../assets/js/common' ;
// common.type([value])
common . type ( 1 ) ; // Number
common . type ( 'abc' ) ; // String
common . type ( true ) ; // Boolean
common . type ( [ ] ) ; // Array
common . type ( { } ) ; // Object
common . type ( function ( ) { } ) ; // Function
common . type ( / d / ) ; // RegExp
common . type ( new Date ( ) ) ; // Date
オブジェクトを URL 文字列に解析します
urlObject
パラメータ オブジェクト、文字列パラメータに変換されるオブジェクトunEncodeURI
エンコードを使用せず、デフォルトでencodeURIComponent
が使用されます。 import common from '../../assets/js/common' ;
// common.param([urlObject], [unEncodeURI])
let obj = {
name : 'weapp' ,
uid : 8 ,
age : 24
} ;
let params = common . param ( obj ) ;
console . log ( params ) ; // ?name=weapp&uid=8&age=24
common.param
を使用するのではなく、URL 文字列をオブジェクトに解析します。
urlString
アドレス、URL パラメータを含むアドレスunDecodeURI
デコードを使用せず、デフォルトでdecodeURIComponent
を使用します。 import common from '../../assets/js/common' ;
// common.unparam([urlString], [unDecodeURI])
let str = '?name=weapp&uid=8&age=24' ;
let obj = common . unparam ( str ) ;
ページ ジャンプは、クイック クリックで 2 ページが開かれないように最適化されており、ミニ プログラムの wx.navigateTo、wx.redirectTo、wx.switchTab、wx.reLaunch にそれぞれ対応する、URL パラメータを渡すためのオブジェクト フォームをサポートしています。
url
ページアドレスparams
ページパラメータオブジェクト import common from '../../assets/js/common' ;
// common.navigateTo([url], [params])
Page ( {
onTapElem ( ) {
common . navigateTo ( '/pages/weapp/popover/popover' , {
userid : 123 ,
info : 'Hello,weapp'
} ) ;
}
} ) ;
フォント アイコンには FontAwesome を使用し、CSS コンポーネント スタイルには WeUI を使用します。
MIT の皆さん、オープンソースの楽しさを楽しんでください。