ピットのWepy-smallプログラムステップ

はじめに

私はネイティブで開発した小さなプログラムを使用しており、api以外に機能的なコンテンツは他にないことを知っています。大規模なプロジェクトを開始するのは難しいので、友人が推奨するwepyを推奨しました。
このようなフレームワークは、Vueの開発方法に似ていますが、Vueに似ていますが、実際に使用するのはそれほど簡単ではありません。API開発にはまだいくつかのVueとの不一致があるため、以下の記録、開始されたチュートリアルは発行されず、ピットに踏み込まれただけです。

公式文書

公式文書は、アプレット
wepy公式文書を

これが踏まれたピットです

wepy問題検索

https://github.com/Tencent/we ...
質問した後、ここで発生した問題を見つけることをお勧めします。結局、ここに完全なコレクションがあります

ラベル内の簡単な説明

Vueに似ています

  • 動的に割り当てられた属性の場合、次を使用できます:attr = "value"
  • バインディングイベントには、@ click = "fn"を使用できます。

データ使用時の注意点

ビューで使用する必要があるデータについては、事前にデータで定義しておく必要があります。この時点でデータがない場合でも、null値を定義する必要があります

WePYでのメソッドの使用

  • 宣言できるのはページのbindおよびcatchイベントのみであり、カスタムメソッドは宣言できません
  • カスタムメソッドはメソッドと同じレベルである必要があります

このアプリケーション

アプレットのデータの属性または割り当てを変更するには、this.setdata()を使用する必要があり、wepyは基本的にthis。Attributeを使用します。非同期に戻るか、domを更新する場合、これはダーティ値の検出をトリガーするために$ Apply()が必要です

ページジャンプ

navigateTo()とredirectTo()の違い。

navigateTo()は現在のページを保持し、アプリケーションのページにジャンプします(つまり、上部ナビゲーションバーの左上隅に戻りボタンを表示し、戻りパスを設定できます)
。redirectTo()は現在のページを閉じて、アプリケーションのページにジャンプします(つまり、左上隅の[戻る]ボタンは表示されません。ページにボタンの書き込みパスを追加するために戻る必要がある場合、またはwx.navigateBack()とgetCurrentPages()を使用して現在のページスタックを取得する場合は、返す必要のあるレイヤーの数を決定してください。

  • 簡単に言うと、タブバーを返す必要がある場合は、navigateToを使用します。不要な場合は、redirectToを使用します。
  • switchTab()のみを使用して、タブバーページにジャンプできます。

ファイルのアップロード

従来のhtmlには、ファイルをアップロードするためのファイルフィールド(<input type = "file" />)はありません。ファイルをアップロードするには、次のAPIのみを使用できます:uploadFile()

DOMの更新$適用

DOMを更新する必要がある場合は、後でコンポーネントインスタンスの$ applyメソッドを呼び出してページを更新する必要があります

this.name="abc";
this.$apply()
  • PS:パフォーマンス要件の高いアプリケーションでは、頻繁に$ apply()を呼び出してDOMを更新しないでください。親コンポーネントを更新して、実際の状況に応じてデータを子コンポーネントに渡し、それをプロップに渡すことができます。
  • 動的データを転送する必要がある場合は、.sync修飾子を追加して解決できます(:prop.snyc = 'item')
  • 子コンポーネントのデータを親コンポーネントに同期する必要がある場合は、プロップを定義するときにtwoWay:trueを設定する必要があります
  • (すべての非同期データ転送は$ applyを使用する必要があります。同期されている場合のみSyncを使用してください)

ミックスイン

WepyのMixin、VueのMixinの逆順

  • wepyでは、コンポーネント自体が最初に実行され、次にミックスインが実行されます
  • vueのフック関数の場合、ミックスインが最初に実行され、次にコンポーネント自体が実行されます。vueのメソッドがミックスインと同じ名前の場合、独自のメソッドのみが実行されます

canvasとbase64について

キャンバス関連の操作はアプレットで実行できますが、純粋なHTMLのキャンバスとは異なります(APIの違い)。キャンバスの使用は、以下を参照する必要があります。アプレットのキャンバス

ArrayBufferおよびbase64変換

この段落の内容はドキュメントでは検索できませんが、実際にはサポートされています。次の2つの方法が使用されます:

wx.arrayBufferToBase64(arrayBuffer)
wx.base64ToArrayBuffer(base64)

命名規則

アプレット内で定義されたインスタンスAPIはすべて$で始まるため、区別するインスタンスプロパティとメソッドを定義するときに$で始めることはできません。

同じ名前のコンポーネントは同じインスタンスとデータを共有します

コンポーネントをループでレンダリングすると、コンポーネントデータが汚染されやすくなります。最も外側のコンポーネントを使用してイベントをリッスンし、バブルアップしてデータを変更できます。一方、イベントをトリガーしたコンポーネントはsetTimeoutでラップされ、実行の順序が保証されます。

ループレンダリングコンポーネント:

Wepyのループレンダリングコンポーネントは、<repeat>タグまたはWeChat公式の<block>タグを使用する必要があります(これらのタグはどちらもdomにレンダリングされません)。それ以外の場合、正常にレンダリングされません。

コンポーネントコンポーネントには、onLoadおよびその他のページイベントがありません。

  • これを設定します$ Broadcast( 'someEvent'、option)in the page;
  • コンポーネント監視イベントを解決できます

ページ

wepy.componentから継承されたページクラスには、ページのすべてのプロパティとメソッドがあります。
すべてのプロパティはw​​epy.componentから継承されます。そしてwepy.componentにはonLoadや他のメソッドがありません

続く-----------------

おすすめ

転載: www.cnblogs.com/10manongit/p/12721736.html