新人成長之入門Vue.js指令介紹(一)

来源:https://www.cnblogs.com/tanglb/archive/2018/08/31/9567154.html
-Advertisement-
Play Games

寫在前面 作為一個剛步入職場工作的新人,對於公司中所用的技術和框架基本上不懂,只能從最基礎的開始做起,進入公司接觸的第一個框架就是前端框架Vue.js,幾個功能做下來,覺得Vue.js首先學習起來真的非常簡單,用起來也是非常的方便,通過儘可能簡單的 API 實現響應的數據綁定和組合的視圖組件。它不僅 ...


寫在前面

作為一個剛步入職場工作的新人,對於公司中所用的技術和框架基本上不懂,只能從最基礎的開始做起,進入公司接觸的第一個框架就是前端框架Vue.js,幾個功能做下來,覺得Vue.js首先學習起來真的非常簡單,用起來也是非常的方便,通過儘可能簡單的 API 實現響應的數據綁定和組合的視圖組件。它不僅易於上手,還便於與第三方庫或既有項目整合,足以應付任何規模的應用。

如果你之前已經習慣了用jQuery、JS操作DOM,學習Vue.js時請先拋開手動操作DOM的思維,因為Vue.js是數據驅動的,你無需手動操作DOM。它通過一些特殊的HTML語法,將DOM和數據綁定起來。一旦你創建了綁定,DOM將和數據保持同步,每當變更了數據,DOM也會相應地更新。

當然了,在使用Vue.js時,你也可以結合其他庫一起使用,比如jQuery、JS等等。

這是我第一次在博客上對於自己的學習成長經歷進行記錄,先從最簡單的一些基本指令記起,下麵開始

Vue.js介紹

Vue (讀音 /vju?/,類似於 view) 是一套用於構建用戶界面的漸進式框架。與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫只關註視圖層,不僅易於上手,還便於與第三方庫或既有項目整合。另一方面,當與現代化的工具鏈以及各種支持類庫結合使用時,Vue 也完全能夠為複雜的單頁應用提供驅動。

Vue.js安裝

我們可以在 Vue.js 的官網上直接下載 vue.min.js 並用 <script> 標簽引入,官網鏈接:https://cn.vuejs.org/v2/guide/installation.html

Vue.js環境詳細安裝教程可參考https://blog.csdn.net/dreamzuora/article/details/78911664


聲明式渲染第一個實例“helloword”

無論學習哪一種語言,第一步都會是用“helloword”打開這門語言的大門,Vue.js也是一樣,看看是如何在Vue.js中輸出“helloword”的。

<div id="app">
  {{ message }}
</div>
helloword聲明式渲染html部分
var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello word!'
  }
})
helloword聲明式渲染JS部分

作用:簡化字元串的拼接。

註意: 變化的部分使用{{}} 和Vue.js的v-text效果一樣定義

 

常用指令總結

1.將上面helloword中的div中的內容換做input框的話,可實現雙向綁定,input框中的你輸入的內容與JS部分中的data中的message綁定

eg:

雙向綁定v-model指令HTML部分 雙向綁定v-model指令JS部分

2.v-if 條件渲染指令,根據其後表達式的bool值進行判斷是否渲染該元素;

eg:

<div id="example01">
    <p v-if="male">Male</p>
    <p v-if="female">Female</p>
    <p v-if="age>25">Age:{{age}}</p>
    <p v-if="name.indexOf('lin')>0">Name:{{name}}</p>
</div>
v-if指令html部分
var vm= new Vue({
        el:"#example01",
        data:{
            male:true,
            female: false,
            age:29,
            name:'colin'
        }
    })
v-if指令JS部分

v-if指令只渲染他身後表達式為true的元素;在這裡引入v-show指令,因為二者的區別是v-show指令會渲染他身後表達式為false的元素,這樣的元素上會添加css代碼:style="display:none"; 將上面v-if的實例代碼改為v-show

3.v-show 與v-if類似,只是會渲染其身後表達式為false的元素,而且會給這樣的元素添加css代碼:style="display:none";

4.v-else 必須跟在v-if/v-show指令之後,不然不起作用;如果v-if/v-show指令的表達式為true,則else元素不顯示;如果v-if/v-show指令的表達式為false,則else元素顯示在頁面上;

eg:

<div id="app">
<h1 v-if="age >= 25">Age: {{ age }}</h1>
<h1 v-else>Name: {{ name }}</h1>
<hr>
<h1 v-show="name.indexOf('cool') = 0">Name: {{ name }}</h1>
<h1 v-else>Sex: {{ sex }}</h1>
</div>
v-else指令html部分
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            age: 21,
            name: 'keepcool',
            sex: 'Male'
        }
    })
</script>
v-else指令JS部分

5. v-for 渲染迴圈列表,類似JS的遍歷,用法為 v-for="item in items", items是數組,item為數組中的數組元素

<div id="example03">
    <table>
        <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>position</th>
        </tr>
        </thead>
        <tbody>
        <tr v-for="person in people">
            <td>{{ person.name  }}</td>
            <td>{{ person.age  }}</td>
            <td>{{ person.position}}</td>
        </tr>
        </tbody>
    </table>
</div>
v-for指令html部分
<script>
    var vm = new Vue({
        el: '#example03',
        data: {
            people: [{
                name: 'lebron',
                age: 33,
                position: 'SF'
            }, {
                name: 'wade',
                age: 34,
                position: 'SG'
            }, {
                name: 'paul',
                age: 32,
                position: 'PG'
            }, {
                name: 'anthony',
                age: 34,
                position: 'SF'
            }]
        }
    })
</script>
v-for指令的JS部分

6.v-bind  這個指令用於響應地更新 HTML 特性,比如綁定某個表格中的數據或者某個class元素或元素的style樣式。該指令也可以簡寫為一個“:”,

eg:

<template>
    <el-table
      :data="tableData"
      style="width: 100%">
      <el-table-column
        prop="date"
        label="日期"
        width="180">
      </el-table-column>
      <el-table-column
        prop="name"
        label="姓名"
        width="180">
      </el-table-column>
      <el-table-column
        prop="address"
        label="地址">
      </el-table-column>
    </el-table>
  </template>
v-bind指令的html部分
<script>
    export default {
      data() {
        return {
          tableData: [{
            date: '2018-08-31',
            name: 'lebron',
            address: 'LA'
          }, {
            date: '2018-08-31',
            name: 'wade',
            address: 'Miami'
          }, {
            date: '2018-08-31',
            name: 'paul',
            address: 'Houston'
          }, {
            date: '2018-08-31',
            name: 'anthony',
            address: 'Houston'
          }]
        }
      }
    }
  </script>
v-bind指令JS部分

分頁功能中當前頁數高亮的效果,可以使用bind指令,綁定該元素的style樣式

7.v-on  用於監聽指定元素的DOM事件,比如點擊事件。該指令可簡寫為“@”,以監聽點擊事件為例

eg:

<el-form :model="numberValidateForm" ref="numberValidateForm" label-width="100px" class="demo-ruleForm">
  <el-form-item
    label="年齡"
    prop="age"
   >
    <el-input type="age" v-model.number="numberValidateForm.age" auto-complete="off"></el-input>
  </el-form-item>
  <el-form-item>
    <el-button type="primary" @click="submitForm('numberValidateForm')">提交</el-button>
    <el-button @click="resetForm('numberValidateForm')">重置</el-button>
  </el-form-item>
</el-form>
v-on指令HTML部分
<script>
  export default {
    data() {
      return {
        numberValidateForm: {
          age: ''
        }
      };
    },
    methods: {
      submitForm(formName) {
            alert('submit!');
        });
      },
      resetForm(formName) {
        this.$refs[formName].resetFields();
      }
    }
  }
</script>
v-on指令JS部分

這次是對於Vue.js中的最基本的常用指令進行總結,其實之前學習過JS和HTML的朋友,對於這方面的理解是非常快的,只不過是一些寫法上面的不同,語法都會是大同小異的。

希望大家這篇博客中有什麼錯誤的地方幫我指出來,一方面對我自己是一種進步,一方面也不會讓錯誤的地方誤導了看到這篇博客的朋友,謝謝!!!

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • angularjs指針(directive)中的作用域(scope)的隔離作用域學習研究 ...
  • 路由,其實就是指向的意思,當我點擊頁面上的home按鈕時,頁面中就要顯示home的內容,如果點擊頁面上的about 按鈕,頁面中就要顯示about 的內容。Home按鈕 => home 內容, about按鈕 => about 內容,也可以說是一種映射. 所以在頁面上有兩個部分,一個是點擊部分,一個 ...
  • 經過對前端技術的學習,感觸良多,雖然之前也接觸過前端的知識,但是沒有進行系統的學習過,在大三上學期學過h5和簡單的css,老師也沒有深度講解,知識也沒有形成體系,經過一段時間的學習,有以下感觸與大家分享: 整個前端知識就像一座房子,而Html是磚,建一個網頁,裡面有很多磚(html裡面最重要的就是標 ...
  • Vue2.0 詳細教程 —— 搭建Vue腳手架(vue-cli) ...
  • 按照顯示元素分類: 行內元素(lnline-element):元素的高度,行高,頂底邊距由元素所包含的圖片或文字所決定,不可改變;其寬度為內容文字或圖片的寬度所決定,而其左右邊距可人為設置。 行內元素的水平方向的padding-left,padding-right,margin-left,margi ...
  • 1、本文根據問題,講述大致 Vue虛擬Dom Diff 思路、數據響應式機制相關,源碼版本 Vue.js v2.5.17-beta.0 2、知識點:vue virtual dom diff、 observe 、 watch、render ,各知識點暫不深入剖析   3、閱讀本文,讀... ...
  • 1、本文根據問題,講述大致 Vue虛擬Dom Diff 思路、數據響應式機制相關,源碼版本 Vue.js v2.5.17-beta.0 2、知識點:vue virtual dom diff、 observe 、 watch、render ,各知識點暫不深入剖析   3、閱讀本文,讀... ...
  • 機動車行駛證PSD模板下載地址: http://www.qijieworld.com/thread-1834752-1-1.html 模板為psd格式,內容可編輯修改,需使用 Photoshop CS5等軟體打開 僅供參考學習使用!切勿當作駕駛證使用!造成的一切後果概不負責!! 詳細參數:格式:PS ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...