Uniapp のグローバル変数定義方法: 1. パブリック モジュールを使用し、コードは [return obj instanceof Array] です; 2. 頻繁に使用される定数またはメソッドを [Vue.prototype] に直接拡張します。
このチュートリアルの動作環境: Windows7 システム、uni-app2.5.1 バージョン、Dell G3 コンピューターこの方法は、すべてのブランドのコンピューターに適しています。
推奨事項 (無料): uni-app 開発チュートリアル
uniapp でグローバル変数を定義する方法:
# 1. パブリック モジュール
これらのグローバル変数を整理および管理するための専用モジュールを定義し、必要なページに導入します。
このメソッドは、複数の vue ページまたは複数の nvue ページ間での共有のみをサポートし、vue と nvue の間では共有をサポートしないことに注意してください。
例は次のとおりです。
uni-app プロジェクトのルート ディレクトリに共通ディレクトリを作成し、その共通ディレクトリに新しい helper.js を作成して共通メソッドを定義します。
const websiteUrl = 'http://uniapp.dcloud.io'; const now = Date.now || function () { return new Date().getTime(); }; const isArray = Array.isArray || function (obj) { return obj instanceof Array; }; export default { websiteUrl, now, isArray }
次に、pages/index/index.vue のモジュールを参照します
<script> import helper from '../../common/helper.js'; export default { data() { return {}; }, onLoad(){ console.log('now:' + helper.now()); }, methods: { } } </script>
このメソッドは保守には便利ですが、毎回導入する必要があるという欠点があります。
2. Vue.prototype をマウントする
頻繁に使用される定数やメソッドを Vue.prototype に直接拡張すると、各 Vue オブジェクトが継承されます。
このメソッドは vue ページのみをサポートすることに注意してください。
例は次のとおりです。
main.js にプロパティ/メソッドをマウントします
Vue.prototype.websiteUrl = 'http://uniapp.dcloud.io'; Vue.prototype.now = Date.now || function () { return new Date().getTime(); }; Vue.prototype.isArray = Array.isArray || function (obj) { return obj instanceof Array; };
次に、ページ内に追加します。 /index/index.vue で
<script> export default { data() { return {}; }, onLoad(){ console.log('now:' + this.now()); }, methods: { } } </script>
を呼び出すこのメソッドは、main.js で定義するだけで済み、各ページで直接呼び出すことができます。
ヒント
各ページに重複する属性名やメソッド名を含めないでください。
Vue.prototype にマウントされるプロパティまたはメソッドには、統一されたプレフィックスを追加できるようにすることをお勧めします。たとえば、$url と global_url は、コードを読み取るときに現在のページのコンテンツから簡単に区別できます。
3. globalData
アプレットには globalData の概念があり、アプリ上でグローバル変数を宣言できます。以前の Vue にはこのような概念はありませんでしたが、uni-app は globalData の概念を導入し、H5 や App などのプラットフォームに実装しました。
App.vue で globalData を定義することも、API を使用してこの値の読み取りおよび書き込みを行うこともできます。
globalData は、vue および nvue 共有データをサポートします。
globalData は、グローバル変数を使用する比較的簡単な方法です。
定義: App.vue
<script> export default { globalData: { text: 'text' }, onLaunch: function() { console.log('App Launch') }, onShow: function() { console.log('App Show') }, onHide: function() { console.log('App Hide') } } </script> <style> /*每个页面公共css */ </style>
js で globalData を操作する方法は次のとおりです。
-
割り当て:
getApp().globalData.text = 'test'
値:
console.log(getApp(). globalData.text) // 'test'
#globalData データをページにバインドする必要がある場合は、ページの onshow 宣言サイクルで変数を再割り当てできます。 。 HBuilderX 2.0.3 以降、nvue ページはユニアプリ コンパイル モードでの onshow もサポートします。
4. Vuex
Vuex は、Vue.js アプリケーション専用に開発された状態管理パターンです。集中ストレージを使用してアプリケーションのすべてのコンポーネントの状態を管理し、対応するルールを使用して状態が予測可能な方法で変化することを保証します。
ここでは、ログイン後のユーザー情報を同期的に更新する例で、Vuex の使い方を簡単に説明しますが、より詳しい Vuex の内容については、公式 Web サイト Vuex にアクセスして学習することをお勧めします。
例:
uni-app プロジェクトのルート ディレクトリに新しいストア ディレクトリを作成し、ストア ディレクトリにindex.jsを作成してステータス値を定義します
const store = new Vuex.Store({ state: { login: false, token: '', avatarUrl: '', userName: '' }, mutations: { login(state, provider) { console.log(state) console.log(provider) state.login = true; state.token = provider.token; state.userName = provider.userName; state.avatarUrl = provider.avatarUrl; }, logout(state) { state.login = false; state.token = ''; state.userName = ''; state.avatarUrl = ''; } } })
次に、メイン ディレクトリに新しいストア ディレクトリを作成する必要があります。.js マウント Vuex
import store from './store' Vue.prototype.$store = store
最後に、pages/index/index.vue で
<script> import { mapState, mapMutations } from 'vuex'; export default { computed: { ...mapState(['avatarUrl', 'login', 'userName']) }, methods: { ...mapMutations(['logout']) } } </script>
を使用します。 関連する無料学習の推奨事項: プログラミングビデオ
以上がuniapp で変数をグローバルに定義する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、モバイルプラットフォームとWebプラットフォームのデバッグ戦略について説明し、Android Studio、Xcode、Chrome Devtoolsなどのツールを強調し、OSとパフォーマンスの最適化全体で一貫した結果を得るためのテクニックについて説明します。

この記事では、Hbuilderx、Wechat開発者ツール、Chrome Devtoolsなどのツールに焦点を当てたUniapp開発のためのデバッグツールとベストプラクティスについて説明します。

この記事では、複数のプラットフォームにわたるUNIAPPアプリケーションのエンドツーエンドテストについて説明します。テストシナリオの定義、Appiumやサイプレスなどのツールの選択、環境のセットアップ、テストの書き込みと実行、結果の分析、インテグラートをカバーします

この記事では、ユニット、統合、機能、UI/UX、パフォーマンス、クロスプラットフォーム、セキュリティテストなど、UNIAPPアプリケーションのさまざまなテストタイプについて説明します。また、クロスプラットフォームの互換性を確保し、JESのようなツールを推奨しています

この記事では、過剰なグローバルデータの使用や非効率的なデータバインディングなど、UNIAPP開発における一般的なパフォーマンスアンチパターンについて説明し、これらの問題を特定して緩和してアプリのパフォーマンスを向上させる戦略を提供します。

この記事では、プロファイリングツールを使用して、Uniappのパフォーマンスボトルネックを識別および解決し、セットアップ、データ分析、最適化に焦点を当てています。

この記事では、Uniappでネットワーク要求を最適化するための戦略について説明し、遅延の削減、キャッシュの実装、および監視ツールを使用してアプリケーションのパフォーマンスを向上させることに焦点を当てています。

この記事では、圧縮、レスポンシブデザイン、怠zyなロード、キャッシング、およびWebP形式の使用を通じて、Webパフォーマンスを向上させるために、Uniappの画像の最適化について説明します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
