初認識Vue
13318 ワード
これはVueです.js Vue.jsは現在とても火の先端のフレームです;Angular.とjs、React.jsはフロントエンドの3つの主流フレームワークと呼ばれている. Vue.jsはユーザーインタフェースを構築するフレームワークであり、ビューレイヤ(MVCのV層)のみに注目している.サードパーティ製ライブラリや既存のプロジェクトとの統合が容易である. Vueでは、DOM要素の操作を減らし、プログラマーがビジネスロジックに注目できるようにすることが核心的な概念です.
バックエンドのMVCとフロントエンドのMVVMの違いMVCはバックエンドの階層開発コンセプト MVVMはフロントエンドビューレイヤーの概念であり、主にビュー層の分離に注目する.すなわち、MVVはフロントエンドをModel、View、VMの3つの部分に分けている Model:ページに表示するデータが必要 View:ビュー、HTML VM:データ(Model)とビュー(View)の間のスケジューラ
図解
導入事例
説明:1、まずVueを導入する必要がある.js 2、Vueインスタンスを宣言する制御領域は、指定divまたはbody体に置くことができる.制御領域で使用するVue構文はVueで認識される 3、Vueインスタンスを作成する.このインスタンスがMVVMのvmスケジューラである 4、 5、指定されたVueインスタンス領域の下に、我々が宣言した要素を表示する 常用命令
v-cloak
入門例では、ViewレイヤでVueバインドされたデータを補間式で示すことができることを初歩的に理解しました.しかし、ネットワークが遅い場合、すなわち
この問題を解決するためにjsは
拡張補間式点滅の問題を解決するには、
バックエンドのMVCとフロントエンドのMVVMの違い
図解
導入事例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Document
{
{ msg }}
// Vue , new MVVM vm
var vm = new Vue({
el: '#app', // element , new Vue
data: { // data el
msg: 'Hello Vue!'
}
});
説明:
el:
当時のVue例を示す制御領域;data:
現在のVueインスタンスに必要なModel(データ)を格納します.msgはVueの要素です.msg
使用:表示可能(ここでmsgはVueで宣言した要素であり、宣言しなかった場合はエラーを報告する)v-cloak
入門例では、ViewレイヤでVueバインドされたデータを補間式で示すことができることを初歩的に理解しました.しかし、ネットワークが遅い場合、すなわち
vue.js
まだロードが完了していない場合、ビューレイヤはVueの補間式として認識されず、文字列としてページに表示されるという問題がある.この問題を解決するためにjsは
v-cloak
命令を提供し,補間式の点滅の問題を解決できる.1
{
{ msg }}
拡張補間式点滅の問題を解決するには、
v-cloak
命令のほか、Vueはv-text
命令を提供します.1
v-cloak与v-text的区别v-text
默认会覆盖掉元素中原有的内容v-cloak
不会覆盖掉原有的内容
v-bind
在上面,我们了解了v-text
输出Vue元素,但是如果我们需要显示的数据是一段HTML
代码,v-text
和都将无能为力,
为此,Vue提供了专门渲染HTML数据的指令:v-html
上面我们学习的指令都是Vue内置的指令,那么在Vue内置的指令中显示Vue绑定的变量,这当然没毛病;但是如果直接在HTML属性中使用Vue绑定的指令(不是用)这样可以吗?
答えはもちろんだめです.HTML属性でVueバインドの変数を直接使用するため、HTMLはVueの要素を参照しているのではなく、文字列として出力します. 上記の問題を解決するために、Vueは v-bind: いくつかのHTML属性をバインドする命令を提供した. 以上のように、 v-bind: バインドされた属性は、その要素が文字列ではなく、Vueのバインドされた変数として認識される(同様にこの変数は宣言しなければならない).またv-bind: もう一つの簡易表記:: . v-on Vueはイベントバインドメカニズムの命令を提供した: v-on: ;一般的なトリガイベントをバインドするために使用できます:click、mouseover... このうち methods はVueに内蔵されたオブジェクトで、いくつかのカスタムメソッド関数を格納するために使用されますjsに内蔵された関数を拡張 setInterval (タイマー)を使用して、ランニングライト効果を実現: 解释:1、 v-on: 简写形式:@ 、使い方は以上の通り.2、ビュー層でVMの中のデータを取って、私たちはいくつかの内蔵命令を使用することができます.VMインスタンス内で定義された他の変数やメソッドなどを取得し、使用:this. (その中のthisは現在のVMインスタンスオブジェクトを示す).3、methodName:function(){} ES 6には簡便な書き方がある:methodName(){} .4、setInterval() とclearInterval() はjsに内蔵された関数であり、使い方は上記の通りである.5、通常我々が呼び出した関数はname(function(){}) と書くが、ES 6はmethodName(() => {}) という使い方を提供している.この使い方のメリットは解決したthis 要素が関数の内部に定義されている場合、その中のthis は現在の関数のオブジェクトを表し、外部のオブジェクトを使用する必要がある場合、外部でグローバルにオブジェクトを定義する以外に、簡単な方法はES 6を使用して提供される=> です.イベント修飾子 .stopは泡を止める.preventはデフォルトのイベントをブロックします.Captureがタイムリスナーを追加する際にタイムキャプチャモードを使用する.selfは、イベントがサブエレメントではないなどのエレメント自体でトリガーされた場合にのみコールバックをトリガーします.onceイベントは1回のみトリガーされます. 使用方法: v-model v-model v-bing vueのスタイル 外注スタイル
うちitalic、colorはカスタムクラス名で、CSSスタイルを外部で定義する必要がある
その中のflagはVueバインドの変数でありdata 宣言する
インラインスタイル data に定義し、:style で参照 :style で配列を通して複数参照data 上のスタイルオブジェクト ≪インスタンス|Instance|emdw≫ v-for Vueは、集合、配列を巡る命令を提供する: v-for ;使い方:v-for=" in " 反復配列 そのうちの i は反復して得られる別名であり、書き込み可能であっても書かなくてもよいが、反復要素別名の後に定義しなければならない反復オブジェクト配列 オブジェクト配列を反復します.この属性名は、オブジェクト配列で定義された要素属性名です. 反復オブジェクト 反復オブジェクト、反復して得られるのはオブジェクトの value 値とkey 値、注意して得られる1つ目はvalue値、2つ目はkey値であり、私たちが定義したオブジェクト属性の順序とは正反対である.≪インスタンス|Instance|emdw≫ に注意 vue 2.0+バージョンでは、 v-for データをレンダリングする場合、対応するkey 値を設定する必要があります(ここでkeyは属性であり、前の反復のkey値ではありません).使用方法: ここで :key キー属性は、v-bind バインドされた要素でなければならないことを示しているが、:key="" で指定された値はstring/number タイプの値でなければならず、それよりもitem.id 中IDはnumber値であり、一意である.目的:反復要素を回避する場合、ループ要素にバインドされるのは、指定した要素(アイデンティティの指定)ではなく、リスト内のいくつかの要素(位置の指定)です. v-showとv-if Vueは2つの命令を提供して要素表示状態の切り替えを実現する: v-if v-show 区別するv-if 特徴:毎回要素を削除・作成し直し、切り替え性能が高い(実行するたびに要素を削除・作成するため)v-show の特徴:DOMの削除や作成操作は毎回行われず、要素のみが切り替わっているdisplay:none スタイルが高く、初見のレンダリング消費が高い(つまり毎回要素を隠すだけで、本当に削除していない).
|