VUEの予備的理解
フロントエンドの開発の歴史
HTML
- HTML [1990] ----> HTML5 [2008年1月12日]
CSS
- CSS 1.0 1996
- CSS 2.0 1998
- CSS 3.0 2001
ECMAScriptの
- 1997年生まれ。
- 2015 ECMAScriptの2015
- JavaScriptの対2016のECMAScript 2016ダーツ言語
維持するためにますます複雑で困難なフロントエンドのロジックプロジェクトので、思考のバックエンドアーキテクチャ(MV *)の前側の導入により
Mモデルデータ層
Vビュー表示層
VMビューモデルモデル(VMは、ビジネスロジックによって名前が変更されたP来る)を表示
(コントローラ改名来る)Pプレゼンター提案者を
Cコントローラコントローラ(ビジネスロジック)
フレーム名 | アーキテクチャ | 生年月日 |
---|---|---|
BACKBONE.JS | MVP | 2010.10 |
Angular.js(1.0) | MVC | 2010.10 |
Angular.ts(2.0) | MVC-> MVVM | 2016 |
1.0の概要 | MVVM | 2014.07 |
見る2.0 | MVVM | 2016.09 |
1.0の反応 | MVVM | 2012 |
反応2012は、このことを考えるためのフロントエンドMVCフレームワークを認識していないだけでMVCでVを反応させると、あなたが見ることができます
K:githubの統計(国際用法)は本土の単位であることを意味するものではありません
angular.js | angular.ts | ビュー | 反応します |
---|---|---|---|
59.6 | 49.1 | 142 | 131 |
曲線の学習:Vueが<<角度(2.0)と反応
人気のフロントエンド
モバイルウェブ&& hybirdアプリ(アプリを混合)
アプリ
- ネイティブアプリ(AndroidのIOSはMEをJAVA)
- Webアプリケーション(ブラウザでアプリケーションapp)
- Hybirdアプリ(アプリを混合)
- Webアプリケーションの埋め込みサードパーティ製のネイティブアプリケーションライブラリ(ネイティブデバイス(携帯電話)のようなインターフェースの特権へのアクセス:カメラ)
MV *イラスト
MVCは
| CはPに社名変更
MVP
| Pは、より多くの仲人(MVを接続するブリッジ)のようにされて
MVVM
| P VMが来ると改名し、V VMの関係がより親密さ
|「MVVM」:双方向のデータバインディングの表示変更は、マッピングViewModelには、逆に、同じよう
ご注意:
我々は、これらのフレームワーク以上のものがある:一方向のデータフロー(親、子からのデータの流れ)
初期Vue.js
- Vue.jsは個人的なプロジェクトで、特に川雨
- Vue.jsはMVVMフレームワークです
- JavaScriptをプログレッシブフレーム(難しいサイエンス)であるVue.js
- スチュアート正美avonlon.js:比較的よく知られている個人的なプロジェクトMVVMはフロントがあります
vue.jsインストール
- 導入スクリプトタグ(CDN |ダウンロード)
- モジュラーインストールNPM / cnpm /糸
学習ドキュメント
- 最初のチュートリアル/ 5分クイックスタート/クイックスタートを見つけます
- ダウンロードしてインストール
- 基本的なデモ
- APIと構成を学びます
Vueの他のフレームワークと比較
VUEとREACT
反応し、Vueのは、多くの類似点を持って、彼らが持っています:
- 仮想DOMを使用してください
- 式(反応性)及び成分(Composables)ビューコンポーネントの応答を提供します。
- こうしたグローバルな状態に関連するライブラリへのルーティングや管理などの他の機能ながら、私たちは、コアライブラリを維持するに焦点を当てます。
リンク
https://cn.vuejs.org/v2/guide/comparison.html
Vueの概要
スクリプトタグが導入され、それがVueのグローバル変数公開します使用
Vueのは、コンストラクタ関数である
私たちは、テンプレートにJS構文を書きたい、我々は(ダブル中括弧)のヒゲと呼ばれるシンタックスシュガーを使用して
、我々はで書かれた文法をJSます{} {}内の
<div id="app">
<p> {{ msg }} </p>
</div>
新しいVueのの例としては、ここで我々はルート・インスタンスを呼び出して
も、コンポーネントのインスタンスである
コンポーネント:ようなHTML、CSSのjsの持つポリマー成分
データの変更を、ビューが変わります、私たちは、このフォームを呼び出します:ビューデータドライバ
M - > VM
1.なぜ、スクリプトタグが導入された後、グローバル変数ことがあるでしょうか?
( function ( global ) {
console.log( global ) //window对象
global.Vue = function(){}
})( this )
2.なぜモジュラー(NPM / cnpm /糸)の導入が行うことができますか?
vue使用了 Module.exports / amd
( typeof exports ==='object' ) && ( typeof module !== 'undefined' ) ?
module.exports = factory() // Vue :
typeof define === 'function' && define.amd ? define(factory) :
( global = global || self, global.Vue = factory());
Vue.jsのソースコードを見て
- 匿名関数は、パッケージ化することである
(関数(){})( )
匿名で最初の()関数が定義されている
第二の()関数呼び出しは匿名で
、匿名関数の利点: - 安全性
- 名前の競合を解決する
(関数(グローバル、工場){
//グローバルグローバルオブジェクトが参照
//工場出荷時の関数
})(これは、関数() {}) - それはあなたがVueのVueのグローバル変数を使用する方法で、あなたはまた、モジュラーをインストールすることができます
- これは、カプセル化されたプロトタイプを使用することです
- プロトタイプ使用
関数fn(オプション){
//のFn VAR()のFN =新しい新しいインスタンスFN例この結果
}
Fn.protype.name = "ガブリエル・ヤン"
Fn.protype.init =関数(){
コンソール。ログ( '関数')
}