序文
まず、ミニプログラムに関連するインタビューの質問を要約する理由について話しましょう。
採用プログラムのウェブサイトを自由に開くことができます。小規模なプログラムに対する市場の需要は依然として非常に高く、一部の企業では小規模なプログラムを作成するフロントエンドスタッフのみが必要な場合があります。
小さなプログラムの開発の大部分は非常に単純ですが、いくつかの一般的に使用されるものを理解する必要があります。したがって、そのような小さなプログラムのインタビューの質問の要約があります。もちろん、興味のある、または小さなパートナーが必要な場合は、ここをクリックして、正面の質問の完全版を表示することもできます。
記事の記載漏れや誤りなどがございましたら、メッセージを残して訂正されましたらよろしくお願いいたします。よろしくお願いいたします。
↓以下
1. WeChatアプレットの関連するファイルタイプを簡単に説明する
WeChat Mini Programプロジェクト構造には、4つの主要なファイルタイプがあります。
-
WXML
(WeiXin Markup Language)は、フレームワークによって設計されたラベル言語のセットであり、基本コンポーネントとイベントシステムと組み合わせて、ページの構造を構築できます。内部は主にWeChat自体によって定義されたコンポーネントのセットです -
WXSS
(WeiXinスタイルシート)はWXML
、コンポーネントスタイルを記述するために使用されるスタイル言語です。 -
js
ロジック処理、ネットワーク要求 -
json
ページ登録、ページタイトルなどのミニプログラム設定tabBar
メインファイル
-
app.json
このファイルは必須です。このファイルがないと、WeChatフレームワークがこれを構成ファイルエントリ、つまりアプレット全体のグローバル構成として使用するため、プロジェクトを実行できません。登録ページ、ネットワーク設定、アプレットのwindow
背景色、スタイルナビゲーションバーの構成など、デフォルトのタイトルを構成する -
app.js
このファイルが必要です。ファイルがない場合、エラーが発生します!しかし、このファイルを作成するだけで、何も書く必要はありません。将来的には、アプレットのライフサイクル関数を監視および処理し、このファイルでグローバル変数を宣言できます。 -
app.wxss
オプション
2. WeChatアプレットの原理を簡単に説明してください
マイクロチャネル・プログラムは、小さな使用してJavaScript
、WXML
、WXSS
3つの手法は、ページのレンダリングとイベント処理は、それがページ内で行われるすべての本質的に1ページのアプリケーションを、開発されましたが、あなたは、マイクロチャネルクライアントを介してネイティブインタフェースの様々なを呼び出すことができますマイクロチャネルアーキテクチャ、データドリブンアーキテクチャモデル、それと
UI
データは分離されており、すべてのページが更新されます。データの変更を通じて達成する必要があります。アプレットは、二つの部分に分割
webview
し、appService
。これはwebview
主に表示するために使用されUI
、appService
我々は、ビジネス・ロジック、データおよびインターフェース呼び出しに対処する必要があります。JSBridge
通信、UI
レンダリング、イベント処理を実現するために、システムレイヤーによって2つのプロセスを実行します。
3.アプレットとVueの双方向バインディングの違いは何ですか
直接アプレットthis.data
属性はビューに同期されていません。呼び出す必要があります:
this.setData({
// 这里设置
})
4.アプレットのwxssとcssの違いは何ですか
WXSS
およびCSS
同様ですがCSS
、に基づいていくつかの追加と変更を行う
- 測定単位
rpx
rpx
画面幅に適応できるレスポンシブピクセルです。画面の幅がであることを指定します750rpx
。としてiPhone6
、画面の幅、物理ピクセルの375px
合計750
、750rpx = 375px = 750
物理ピクセル
@import
識別子を使用して外部インラインスタイルをインポートします。@import
ステートメントの終わりを示すために、インポートする必要のある外部スタイルシートの相対パスが続きます;
/** index.wxss **/
@import './base.wxss';
.container { color:red; }
5.アプレットページ間でデータを転送する方法は何ですか
- グローバル変数を使用してデータ転送を実現する
ではapp.js
グローバル変数ファイルの定義globalData
、情報が保存された内部に格納する必要があります
// app.js
App({ //グローバル変数 globalData:{ userInfo:null } })
使用中は、getApp()
情報の直接使用が保存されます
- データの一部を内部に配置できる場合に使用
wx.navigateTo
し、新しいページの初期化時間wx.redirectTo
url
onLoad
//pageA.js
//
wx.navigateTo({ url:'…/ pageD / pageD?name = raymond&gender = male'、})に移動します
//リダイレクト
wx.redirectTo({ url:'…/ pageD / pageD?name = raymond&gender = male'、})
// pageB.js
…
Page({ onLoad:function(option) { console .log(option.name + 'is' + option.gender)this .setData({ option:option })} })
注意が必要な問題:
wx.navigateTo
とwx.redirectTo
にジャンプすることができtab
含まれるページ
onLoad
一度だけ実行
Storage
関連するローカルキャッシュを使用する
6.ミニプログラムのライフサイクル機能
-
onLoad
ページが読み込まれたときに発生します。onLoad
パス内の現在のページを開くためのパラメーター取得パラメーターで、ページが1回だけ呼び出されます -
onShow()
ページが表示される/前景に切り取られるとトリガーされます -
onReady()
ページの最初のレンダリングが完了したときに発生します。ページは1回だけ呼び出されます。つまり、ページは準備ができており、ビューレイヤーと対話できます。 -
onHide()
ページが非表示/背景に切り取られたときにトリガーされます。navigateTo
底部またはtab
別のページに切り替え、カット舞台裏をアプレット -
onUnload()
ページがアンロードされるとトリガーされます。redirectTo
またはnavigateBack
時に他のページへ
参照してください。ライフサイクルコールバックを
7. WeChat Mini Programのデータリクエストをカプセル化する方法
ここで参照
8. WeChatミニプログラムの適用速度を向上させるために使用できる方法
1.ページの読み込み速度を改善する
2.ユーザーの行動予測
3、デフォルトのdata
サイズを小さくする
4.コンポーネント化されたソリューション
9. WeChat Miniプログラムの利点と欠点
利点
- すぐに使用でき、インストールする必要がなく、トラフィックを節約し、インストール時間を節約し、デスクトップを占有しない
- WeChatトラフィック、自然なプロモーション、およびコミュニケーションの利点に依存
App
低より開発費
不利益
- ユーザーの保持、使用、移動は利点ですが、いくつかの問題もあります
App
多くの深いへの伝統的な入り口と比較して- 多くの制限があり、ページサイズは2Mを超えることはできません。10レベルを超えるページを開くことはできません
10.アプレットの非同期リクエストの問題を解決する方法
アプレットはほとんどの
ES6
構文をサポートし ます
- 成功を返すコールバックのロジックを処理する
-
Promise
非同期
11.ミニプログラムのWeChat公式アカウントに関連付けられている場合、ユーザーの一意性を判断する方法
開発者が複数のモバイルアプリケーション、Webアプリケーション、およびパブリックアカウント(アプレットを含む)を持っている場合、unionid
一意でユーザーを区別するために、同じWeChatオープンプラットフォームアカウント、Webアプリケーション、パブリックアカウント(アプレットを含む)、ユーザーunionid
は一意です。言い換えれば、同じユーザーunionid
は 、同じWeChatオープンプラットフォームの異なるアプリケーションでも同じです。
12.プルダウンリフレッシュの実装方法
- まず最初に
config
、window
構成のグローバルenablePullDownRefresh
Page
定義onPullDownRefresh
フック関数、ドロップダウンリフレッシュ状態に達し、フック関数の実行開始要求メソッド- リクエストが戻った後、
wx.stopPullDownRefresh
プルダウンリフレッシュを停止するように呼び出します
ここで参照
13. bindtapとcatchtapの違いは何ですか
類似点:まず、これらはすべて、クリック時にトリガーされるクリックイベント関数として使用されます。この関数は同じなので、区別する必要はありません
違い:bindtapはバブリングイベントを防ぎませんが、catchtapはバブリングを防ぎます。
14.説明wx.navigateTo()
、wx.redirectTo()
、wx.switchTab()
、wx.navigateBack()
、wx.reLaunch()
区別</ H5>
- wx.navigateTo():現在のページを保持し、アプリケーションのページにジャンプします。しかし、
tabbar
ページにジャンプすることはできません - wx.redirectTo():現在のページを閉じて、アプリケーションのページにジャンプします。しかし、
tabbar
ページにジャンプすることはできません - wx.switchTab():
abBar
ページにジャンプし、他のすべての非tabBar
ページを閉じます - wx.navigateBack()は現在のページを閉じ、前のページまたは複数レベルのページに戻ります。
getCurrentPages()
現在のページのスタックを取得できます。決定には複数のレイヤーを返す必要があります - wx.reLaunch():すべてのページを閉じて、アプリケーションのページを開きます
転送元:https://segmentfault.com/a/1190000018689948
https://zhuanlan.zhihu.com/p/64261276