WeChatウィジェット:getCurrentPages()の使用


多くの友达が小さなプログラムに触れたばかりの时、このような感じがするかもしれません:“私の草、データでページを更新して、キックアスの”、同じく友达が私のようにこのような感じを出します:“私の草、これはandroidにそろっていますか?”もちろん、「vueをパクリしたので、疑う必要はありません」という感じの人もいますが、
vueがウィジェットをパクリしていると感じている以上、今日はウィジェットのデータドライバについてお話ししましょう.
vueについては、英語のアルファベットが3つあると思います.spa、spaとは何ですか?spaの意味は単ページアプリケーションである以上.では、小さなプログラムもspaではないでしょうか.
もちろん、このドキュメントは言っているかどうかは、みんなが自分で探しに行かなければなりません.
spaの最大のメリットは、utilなどのデータの汎用性です.jsにデータが配置され、他のjsでも読み取ることができます.このままでは、別のデータベースがあるようですが、このデータベースが存在するのは少し長すぎませんか.これは私たちが心配していることではありません.
それなら、微信ウィジェットにもこの「データベース」がありますか?
もちろんあります.「app.js」です.結局、人は長い間、ずっと伝わっています.だから、私たちは多くの操作が実際にappです.js内部操作の、
もちろん、utilに配置を書くのが好きな人も多いですが、私は変な子かもしれません.
私たちがappにいる以上.jsには共通コードといくつかの共通の方法が書かれており、データ共有の重要性は、appにいるときに、皆さんが知っているよりも、次のようなシーンを考えてみましょう.jsでユーザーの情報を取得した後、私たちは記憶するだけで、それから他のページでユーザーの情報を取得するとき、私たちは再取得する必要はありません.ただappを読み取る必要があります.jsでいいので便利ですが、
「操作」と「反操作」、あるいは「appを取得する.jsの数値」と「app.jsに私たちのインタフェースをアクティブにリフレッシュさせる」に対して.この2点は対立していないように見え、私たちも簡単に第1点を実現することができますが、第2点は確かに少し面倒です.
私もappを譲りたいと思ったことがあります.jsはあるjsと位置を変えたが失敗し、
次のシーンを考えてみましょう.
オンラインアプリケーションとして、バックグラウンドデータとの事実更新が最も必要です.例えば、ユーザーがリストを取得する操作では、バックグラウンドにタイムリーに送信し、戻ってきたデータに基づいてページを再レイアウトする必要がありますか.面倒な例を挙げると
私たちはすべて知っていて、1つのインスタント通信のプログラム、最も好きなのはsocketで、しかし小さいプログラムのこちらの話は最も面倒なのは1つのページが破棄された時、彼のsocektも死んでしまうことを見て、この時、私たちは生命の過程の問題を考慮する必要があって、それでは私たちの最も良い計画はsocketの傍受をapp、jsの場所に置くことです.心拍数の時間とappの方法を考える必要がありますjsでページのデータを更新します.1つ目の問題は私たちがあまり心配する必要はありません.私たちはユーザーcdの時に一連の操作をすれば、これを避けることができますが、2つ目は私たちの難点です.ウィジェットがgetCurrentPagesを提供してこの難関を乗り越えても、getCurrentPagesは現在のスタックのパスとページのデータを返し、次のようなdemoを実現することができます.
app.js
//app.js
App({
  onLaunch: function () {
    const that = this;
    setTimeout(function () {
      getCurrentPages()[0].showmessage();
    }, 5000);
  },

  globalData: {
    userInfo: null
  }
})
a.js
// pages/a/a.js
Page({

  /**
   *        
   */
  data: {
    msgdata: "    "
  },

  showmessage: function () {
    this.setData({ msgdata: "   ap.js    " });
  }
})
a.wxml
{{msgdata}}

もしかすると、これはウィジェットもspaアプリケーションであることを説明することができますか?