フロントフレームのVueを取得

簡単な紹介

VUEは、ユーザインタフェースを構築するためのプログレッシブフレームです。他のフレームの差がヴューが層によってボトムアップ層から印加されるように設計されて、大きいです。唯一のビュー層の上にVueのコアライブラリの焦点は、だけでなく、使いやすいだけでなく、簡単なサードパーティ製のライブラリまたは既存のプロジェクトを統合することです。一方、現代のツールチェーンとさまざまなサポートライブラリと組み合わせて使用​​し、Vueのも複雑な1ページのアプリケーションのためにドライブを提供することが十分に可能。

環境インストール

環境を準備する:
ノード

海抜

ビュー-CLI

ビューデベロッパーツール

NVMインストール:ノードのバージョンを管理します

ダウンロードクロームプラグインアドレス:
https://chrome-extension-downloader.com/

BootCDN:https://www.bootcdn.cn/

テンプレートの構文

  1. VUEファイル構造(テンプレート、スクリプト、スタイル)

  2. 補間構文{{MSG}}、データ、JS発現

  3. コマンド(コマンドの短縮形)@click:HREF

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .bg{
            color: red;
        }
    </style>
    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script></head>
<body>
<div id="app">
<div class="bg" v-bind:id="bg1">
    hello world!
    {{msg}}
</div>
<div class="bg">
    {{msg}}
</div>
    {{count}}
    {{(count + 1)*10}}
<div v-html="template">

</div>
<a :href="url">百度</a>
<!--v-bind:绑定页面属性, 可以直接缩写 :-->
    <button type="button" @click="submit()">数字加1</button>
<!--v-on:事件 缩写@ -->
</div>

<script>
    new Vue({
       el:'#app', // .bg
       data: {
           msg: 'hello vue!!',
           count: 1,
           template: '<div>hello template</div>',
           url: 'https://www.baidu.com/',
           bg1: 'app-bind'
       },
       methods: {
           submit: function() {
               this.count ++
           }
       }
    })
</script>
</body>
</html>

リスナーのプロパティで計算

  1. プロパティの計算:conputed

  2. リスナー:腕時計

リスナー:

<script>
    var app = new Vue({
       el:'#app', // .bg
       data: {
           msg: 'hello vue!!',
           count: 1,
           template: '<div>hello template</div>',
           url: 'https://www.baidu.com/',
           bg1: 'app-bind'
       },
       methods: {
           submit: function() {
               this.count ++
           }
       },
       watch: {
           msg: function (newVal, oldVal) {
               console.log('newVal is:' + newVal)
               console.log('oldVal is:' + oldVal)
           }
       }
    })
</script>

Vueのはそうあなたがクロームコンソールにデバッグすることができ、次のウォッチ属性をデバッグするために使用され、変数にオブジェクト:

値app.msgを変更する場合は、対応する機能、時計機能を呼び出して、印刷関連情報

app.msg
"hello vue!!"
app.msg = "new message!!"
index.html:49 newVal is:new message!!
index.html:50 oldVal is:hello vue!!
"new message!!"

計算されたプロパティ

MSG1の変更が発生した計算値を関連するすべてのプロパティの値の変化に影響を与えます

モニターの値は、この例では値であり、

watch: {
   msg: function (newVal, oldVal) {
       console.log('newVal is:' + newVal)
       console.log('oldVal is:' + oldVal)
   }
},
computed: {
   msg1: function () {
       return 'computed ' + this.msg + ',' + this.another
   }
}

リスニングの時計は、一般的に単一の変数や配列である - 非同期のシナリオ

計算されたが、多くの変数を監視することができ、これらの変数は、Vueのでなければなりません - データ連携を

レンダリング条件は、リスト、クラスとスタイルのバインドをレンダリング

V-IF || V-ショーの使い方

<div id="app">
    <div v-if="count > 0">
        判断1:count大于0,count的值是:{{count}}
    </div>
    <div v-else-if="count < 0 && count > -5">
        判断2:count的值是:{{count}}
    </div>
    <div v-else>
        判断3:count的值是:{{count}}
    </div>
    <div v-show="count == -1">show: {{count}}</div>
</div>

script>
    var app = new Vue({
       el:'#app', // .bg
       data: {
           count: 1
       }
    })
</script>

条件に基づいて関連コンテンツを表示しています

V-用

<div v-for="item in list"> {{item}}</div>

<script>
        var app = new Vue({
           el:'#app', // .bg
           data: {
               msg: 'hello vue!!',
               count: 1,
               list: [1,2,3,4,5]
           })
</script>          

V-のためのV-場合、V-ショーと組み合わせて使用​​します:

    <div v-for="item in list">
        <div v-if="item.age > 29">
            {{item.name}}
        </div>
        <div v-else>
            {{item.age}}
        </div>
        <div v-show="item.age > 29">
            {{item.name}}
        </div>

    </div>

クラスとスタイルのバインディング

バインディングのスタイル:

    <div v-show="item.age > 29" v-bind:style="styleMsg">
            {{item.name}}
    </div>
    
    <script>
        var app = new Vue({
           el:'#app', // .bg
           data: {
               styleMsg:{
                 color: 'red',
                 textShadow: '0 0 5px green'
               },
               msg: 'hello vue!!'
           })
</script>

バインディングクラス:

<div v-show="item.age > 29"
             :class="['active', 'add', 'more', {'another':item.age < 30}]"
             :style="styleMsg">
            {{item.name}}
</div>

item.age <別が表示されます、30

ビュー-CLI

インストール:

npm install -g @vue/cli

ビューバージョン:

vue --version

プロジェクトを作成する方法:

vue create project

若しくは

vue ui    // 可视化创建项目

VUEプロジェクトのディレクトリ構造:

-- public
-- src
-- package.json

思考のコンポーネント

多重達成するためのモジュールアセンブリの主な機能

それは非常に効率的な実行することができ

いくつかの複雑な論理ページが分割することができます

どのように分割するには:

  1. コードのビジネスラインは、原則の300行を超えていません
  2. 多重化の原則

成分によって引き起こされる問題:
1.コンポーネント状態管理(vuex)
ミックス2マルチコンポーネント、マルチページ、業務の担当(VUE-ルータ)
コンポーネント、メッセージ、イベント管理(小道具、EMIT /上の間を通過する3パラメータ、バス)

VUEコードスタイル

https://cn.vuejs.org/v2/style-guide/

ビュールータ

  1. 作成されたファイルを関連VUEビュー
  2. configureはroute.jsにルーティング関連しました
{
                path: '/data',
                name: '数据',
                icon: 'dashboard',
                component: PageLayout,
                children: [
                    {
                        path: '/data/info',
                        name: '详情',
                        icon: 'none',
                        component: () => import('@/views/data/Info')
                    }]
            }

関連ページを表示する3.ローカル構成ファイルVUEの必要性

vuex

シーン:

  1. 同じ状態に依存して複数のビュー(例えば、メニューナビゲーション)
  2. あなたは(そのようなコメント弾幕など)と同じ状態の異なるビューの動作を変更する必要があります

状態管理モデルvue.jsを開発

コンポーネントステータスを一元管理

コンポーネントの状態が均一に従ってルールを変更するには

これは、次の手順を使用して行われる必要があります。

  1. Store.js定義ファイル
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex);

export default new Vuex.Store({
    state: {
        count: 0
    },
    mutations: {
       increase() {
        this.state.count ++
       }
    },
    actions: {
        
    }
});

状態:公共状態コンポーネント

変異:定義されたメソッドの状態を変更

2.コンポーネントは、store.jsファイルを導入する必要性を使用しました

import store from '@/store/index'
export default {
name: "About",
store,
methods: {
    add() {
        console.log("add")
        store.commit('increase')
    }
    }
}
</script>

store.commit()変更をコミット

コンポーネント間3.

別のファイルに状態を使用して

<template>
    <div>
        <p>{{msg}}</p>
    </div>
</template>
<script>
    import store from '@/store/index'
    export default {
        name: "Config",
        store,
        data () {
            return {
               msg: store.state.count
            }
        }
    }
</script>
<style scoped>
</style>

どのようにデバッグします

クロームプラグインVUEがあります。

デバッグするための書き込みデバッガに必要な場所

クロームコンソールに直接VUE変数の値を表示し、これ。(デバッグモード)変数を書きました

クロムネットワークXHRリクエストを表示

スロー3G |あなたは、インタラクティブなデバッグ高速3Gを使用することができます

これは、現在のコンポーネントのオブジェクトがグローバル変数ウィンドウを行くためにバインドされていることができ

mounted() {
  window.vue = this
},
methods: {
    add() {
        console.log("add")
        debugger
        store.commit('increase')
    },
    output() {
        console.log("output")
    }
    }
}

これは、クロームコンソールに直接印刷することができます window.vue.output()

vue.jsを統合する方法

  • シングルページ、CDN vue.js複数ページの紹介
  • テンプレートプロジェクトを作成するために、複雑な単一のページVUEのCLIツール

開発ワークフロー:

  • 需要調査(ニーズを特定します)
  • インタラクションデザイン、論理設計、インタフェース設計
  • コードの実装、テストの実行、デプロイオンライン

ギット:

  • プロジェクトgitのクローンを作成し、gitの初期化
  • 枝をマージ、ブランチとプッシュブランチを作成
  • 削除ブランチ、バージョンのロールバック
git add . # 添加需要提交的文件
git commit -m "first commit" # 提交需要push的文件
git remote -v     # 可以看到远程的仓库
git push origin master
git branch -a  # 查看所有分支
git checkout -b dev #创建分支
git push origin dev # 提交到dev分支
-- 合并 分支 --
git checkout master
git merge dev
git push origin master

git branch -D dev # 删除dev分支
git push origin :dev # 删除远程分支
git reset --hard head^  # 退回到上一个版本
git log | git reflog  #查看之前的git 记录
git reset --hard HEAD@{1}  # 回退到任意版本

シンプルな1ページのアプリケーション

コード:

<template>
    <div>
        <p>{{msg}}</p>
        <ul>
            <li v-for="(item, index) in lists"
                :key ="index"
                @click="choose(index)"
                :class="{active: index === current && current !==''}"
            >
                {{item}}
            </li>
        </ul>
        <button type="button" @click="add()">添加</button>
        <ul>
            <li v-for="(item, index) in target"
                :key ="index"
            >
                {{item}}
            </li>
        </ul>
    </div>
</template>

<script>
    import store from '@/store/index'
    export default {
        name: "Config",
        store,
        data () {
            return {
               msg: store.state.count,
               lists: [1,2,3,4,5],
               target: [],
               current: ''
            }
        },
        methods: {
            choose(index) {
                this.current = index
            },
            add() {
                if (this.current==='') {return}
                this.target.push(this.lists[this.current])
                this.current=''
            }
        }

    }
</script>

<style scoped>
    li.active {
        background: green;
    }
</style>

レンダリング:

lDydyQ.gif

どのように高い誰か他のAppの模倣

  • Elementはドムの構造を見ることができ点検
  • ビューJS、CSSリファレンス、適切なJSライブラリの検索内部ヘッダ、本文
  • また、クロムのネットワークを表示することができます|ソースをJS、JS圧縮ファイルのデバッグ抗編、ブレークポイントを使用して、クロムは、フォーマット機能を提供します

パッケージ化され、解放

プロジェクトパッケージ:

npm run  build

パッケージは、どこへ行くか、サーバのルートディレクトリにアップロードされたすべてのファイルのdistのフォルダ完了したら、アクセスすることができます

概要

この記事では、ビルドにいくつかの入門知識VUEの枠組みを説明し、デバッグに、今、あなたはいくつかの簡単な1ページのアプリケーションを開発することができますどのようにVUEの開発環境、パッケージ化され、リリースされ、VUEテンプレート構文、開発プロセスとVUE関連コンポーネントを使用し、インストール。

おすすめ

転載: www.cnblogs.com/bigdata1024/p/12159083.html