uni-appベース構文
data属性
dataは、初期データオブジェクトを返す関数として宣言する必要があります.それ以外の場合、ページが閉じると、データは自動的に破棄されず、再びページを開くと、前回のデータが表示されます.
グローバル変数
uni-appグローバル変数のいくつかの実装方法
共通テンプレート
これらのグローバル変数を組織および管理するための専用モジュールを定義し、必要なページに導入します.(個人感覚、おすすめ)
例は、uni-appプロジェクトのルートディレクトリの下にcommonディレクトリを作成し、commonディレクトリの下にhelperを新規作成する.jsは、共通のメソッドを定義するために使用されます.
Vueをマウントprototype
使用頻度の高い定数や方法を直接Vueに拡張する.prototypeでは、各Vueオブジェクトが「継承」されます.(個人感覚では、グローバル変数が少ない方はこの方法が使えます)
例は、
Tips各ページに重複する属性やメソッド名が表示されないようにする. ・ globalData(推奨しない)
アプレットではアプリ上でglobalDataを宣言できますが、Vueにはこの属性がなく、APIを使用してこの値を読み書きできます.
Vuex
VuexはVue専用です.jsアプリケーション開発のステータス管理モード.集中型ストレージ管理アプリケーションのすべてのコンポーネントのステータスを採用し、対応するルールでステータスが予測可能な方法で変化することを保証します.
計算プロパティ
Original message: “Hello”
Computed reversed message: “olleH”
条件付きレンダリング v-if v-else v-else-if v-show 簡単な例
リストレンダリング
dataは、初期データオブジェクトを返す関数として宣言する必要があります.それ以外の場合、ページが閉じると、データは自動的に破棄されず、再びページを開くと、前回のデータが表示されます.
グローバル変数
uni-appグローバル変数のいくつかの実装方法
共通テンプレート
これらのグローバル変数を組織および管理するための専用モジュールを定義し、必要なページに導入します.(個人感覚、おすすめ)
例は、uni-appプロジェクトのルートディレクトリの下にcommonディレクトリを作成し、commonディレクトリの下に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でモジュールを参照
import helper from '../../common/helper.js';
export default {
data() {
return {};
},
onLoad(){
console.log('now:' + helper.now());
},
methods: {
}
}
この方式はメンテナンスが便利ですが、毎回導入する必要があるのが欠点です.Vueをマウントprototype
使用頻度の高い定数や方法を直接Vueに拡張する.prototypeでは、各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;
};
そしてpages/index/index.vueで呼び出す
export default {
data() {
return {};
},
onLoad(){
console.log('now:' + this.now());
},
methods: {
}
}
この方法はmain.jsで定義すると、各ページで直接呼び出されます.Tips
Vue.prototype
にマウントする属性または方法を推奨し、統一した接頭辞を付けることができる.例えば$url、global_url
これにより、コードを読む際にも現在のページの内容と区別しやすくなります.アプレットではアプリ上でglobalDataを宣言できますが、Vueにはこの属性がなく、APIを使用してこの値を読み書きできます.
Vuex
VuexはVue専用です.jsアプリケーション開発のステータス管理モード.集中型ストレージ管理アプリケーションのすべてのコンポーネントのステータスを採用し、対応するルールでステータスが予測可能な方法で変化することを保証します.
計算プロパティ
Original message: "{{ message }}"
Computed reversed message: "{{ reversedMessage }}"
var vm = new Vue({
el: '#example',
data: {
message: 'Hello'
},
computed: {
// getter
reversedMessage: function () {
// `this` vm
return this.message.split('').reverse().join('')
}
}
})
結果:Original message: “Hello”
Computed reversed message: “olleH”
条件付きレンダリング
Title
Paragraph 1
Paragraph 2
一般に、v-ifはより高いスイッチングオーバーヘッドを有し、v-showはより高い初期レンダリングオーバーヘッドを有する.したがって、非常に頻繁に切り替える必要がある場合は、v-showを用いるのが好ましい.実行時に条件が変更されない場合は、v-ifを使用するとよい.リストレンダリング
v-for
v-if
と に、v-for
・を つ 。 :
- {{ item.msg }}
-
v-for
ブロックでは、すべての ドメインのプロパティにアクセスできます.v-for
の の 、オプションの2 のパラメータもサポートする.
-
{{ parentMessage }} - {{ index }} - {{ item.message }}
3 のパラメータをインデックスとして することもできます.
{{ index }}. {{ name }}: {{ value }}
v-for
に を し、v-for
も できます.この 、テンプレートは を り します.
{{ n }}
of
in
り としても できます
:オブジェクトを する に v-for in
を する に v-for of
Vue :
// , WEB , ``uni-app``
{
click: 'tap',
touchstart: 'touchstart',
touchmove: 'touchmove',
touchcancel: 'touchcancel',
touchend: 'touchend',
tap: 'tap',
longtap: 'longtap',
input: 'input',
change: 'change',
submit: 'submit',
blur: 'blur',
focus: 'focus',
reset: 'reset',
confirm: 'confirm',
columnchange: 'columnchange',
linechange: 'linechange',
error: 'error',
scrolltoupper: 'scrolltoupper',
scrolltolower: 'scrolltolower',
scroll: 'scroll'
}
: エンドに するため、イベントはv-on
または@
でバインドする があります.ウィジェット のbind
およびcatch
でイベントバインドしないでください. イベント .stop
: プラットフォームでサポートされており、 にはイベントの ちを し、H 5 でもイベントのデフォルト を する.prevent
H 5のみサポート.self
:H 5のみサポート.once
:H 5のみサポート.capture
:H 5のみサポート.passive
:H 5のみサポート マスク のページのスクロールを する がある は、@touchmove.stop.prevent="moveHandle"
moveHandle
touchmoveのイベントを したり、 の であったりすることができます.
ボタン :uni-app
で しており、キーボードイベントがないため、ボタン はサポートされていない
uni-appは、template
テンプレートにネストされた
をサポートし、リストレンダリングおよび レンダリングを う.
コンポーネントではなく、パッケージ であり、ページ ではレンダリングされず、 のみが け れられる.
レンダリングの :
test true
test false
リストレンダリングの :
{{item}} - {{index}}