vue的基本語法

来源:https://www.cnblogs.com/yanghuiting/archive/2019/08/21/11348633.html
-Advertisement-
Play Games

在學習vue之前,我們應瞭解一下什麼是vue.js? 什麼是Vue.js? Vue.js是目前最後一個前端框架,React是最流行的一個前端框架(react除了開髮網站,還可以開發手機App,Vue語法也是可以進行手機App,還需要藉助 weex) Vue.js是前端的主流框架之一,和angular ...


  在學習vue之前,我們應瞭解一下什麼是vue.js?

  什麼是Vue.js?

    Vue.js是目前最後一個前端框架,React是最流行的一個前端框架(react除了開髮網站,還可以開發手機App,Vue語法也是可以進行手機App,還需要藉助 weex)

    Vue.js是前端的主流框架之一,和angular、react.js一起,併成為前端三大主流框架

    Vue.js是一套構建用戶界面的框架,只關註視圖層,它不僅易於上手,還便於第三方庫即有項目整合(Vue有配置的第三方類庫,可以整合起來做大型項目的開發)

    前端的主要工作:主要負責MVC中的V這一層,主要工作就是和界面打交道,來製作頁面效果

  Node(後端)中的mvc與前端mvvm之間的區別:

    mvc是後端的分層開發概念

    mvvm是前端視圖層的概念,主要關註於視圖層分離,也就是說:mvvm把前端的視圖層,分為三部分:model,view,vm viewmodel

  Vue

    vue返回的是一個對象

       vue是一個mvvm的框架,(面試官常問的),angular是mvc的框架

       Vue是vue的實例,這個實例存在電腦中,主要乾倆大事:1、綁定事件;2、dom檢測

    Vuejs是封裝的一個類,參數是options對象

    Vue全家桶包括:vuex、vue-router、vue-resource還有構建工具 vue-cli

    但是vue-resource 現在不使用了,用的是axios

    最常用的屬性是:

            el:""     指定vue所操作的dom範圍,屬性值是你獲取的節點

            data     就是vue的model,是存放數據的,屬性值是一個對象或者是一個函數,在組件中的data是一個函數

            methods   是vue中的事件方法,

  vue的基本內容:

    Vue的渲染:

      指令式渲染:

                v-html,v-text 採用{{}}語法==>插值運算

                v-html:它可以加標簽,它會解析成html

                v-text:不能加標簽,如果加了,它會當作字元串展示出來

                  插值表達式:

                           {{ data中的數據 }}

                  v-text與插值表達式的區別:

                          預設v-text沒有閃爍的問題的,而插值表達式有閃爍問題

                          v-text 會覆蓋元素中原本的內容,但是插值表達式只會替換自己的這個占位符,不會把整個元素的內容清空

                  v-html v-text的區別:

                          v-html會解析html格式

                          v-text與插值表達式會把內容當做文本來解析

                          v-html 和 v-text都會覆蓋元素中原有的內容

    v-cloak

      v-cloak     能夠解決 插值表達式閃爍的問題

         

      併在css中設置:

                           [v-cloak]{

                                    display: none;

                           }

                        讓所有設置 v-cloak 的元素隱藏,當載入完畢之後,元素身上的 v-cloak 就會消失

     條件指令:v-if

      v-if="a" 

                     後面的值如果是true節點就顯示,false就隱藏

           

    v-show=""

        改變css中的display

             後面的值如果是true,節點就顯示,false就隱藏

    v-if與v-show的區別:

            v-if是對節點的刪除和添加,v-show是堆display屬性值none和block的切換

    v-if與v-show的區別及使用場景:

                   共同點:都是動態顯示DOM元素

                   不同點:

                           v-if:

                                    v-if 是動態的向DOM樹內添加或刪除DOM元素

                                    v-if 切換一個局部編譯/卸載的過程,切換時合適銷毀和重建內部事件監聽和子組件

                                    v-if是懶惰性的,初始條件 = false,什麼也不做,只有在條件第一次 = true時,才開始局部編譯

                                  v-show 是在任何條件下(首次條件是否為著真)都會被編譯,然後緩存,而且DOM元素保留

                                    v-if有更高的切換消耗

                                   使用場景:

                                            v-if 適合運營條件不大可能改變

                           v-show

                                    v-show有更高的初始化渲染消耗

                                    v-show只是簡單的基於css切換

                                    v-show是通過設置DOM元素的display實現控制顯隱的

                                    使用場景:

                                            v-show 適合頻繁切換

    迴圈指令:v-for=""

            * 值是一個數組  (item,index) in 數組名

            * 值是一個對象  (value,key) in 對象名        value是屬性值,key是屬性

    在v-for中key的使用註意事項:

                         v-for 迴圈的時候,key屬性只能使用 number 或string,且是惟一的

                         key在使用的時候,必須使用 v-bind 屬性綁定的形式,指定key的值

    動態屬性:v-bind:class="a"

                可以簡寫    :class="a"          v-bind可以省略

    節點上綁定事件:

           v-on:click="fn"         可簡寫:@click="fn"

                事件方法寫在methods中

    v-on 監聽事件

             v-on:click="事件名"

             縮寫@click="事件名"

    v-model 數據綁定

             可以在表單中使用v-model實現數據雙向綁定

             text類型中的文本都是字元串,v-model中的值相同

        

       覆選框 v-model中的值是boolean

        

       單選框  v-model中值是value

        

        

    v-model實現的原理:

              angular是mvc模式,ng-model是靠臟值檢測

              vue靠的是數據劫持和發佈者訂閱者模式

          數據劫持:

                 Object.definePropery()  這個方法

              * 生成對象的方法    字面量  var obj={}/new Object()

               * Object.definePropery()  給一個對象定義新屬性或修改一個對象的屬性

               * object.getOwnPropertyDescriptor()   返回關於一個對象某個屬性的描述符,

                    第一個參數是目標對象,第二個參數是 對象的某個屬性

                      var obj={age:12}

                      console.log(object.getOwnPropertyDescriptor(obj,'age'))

                    返回屬性的意思:

                        configurable  配置選項,值為true代表這個屬性可刪除

                        enumerable    值為true 代表可枚舉 可以使用 for in 遍歷

                        value         這個屬性的值

                        writeable     代表這個屬性可以更改

                     如果有了set和get屬性就不能有writeable 和 value屬性

    常見的修飾符:

      .lazy  v-model 在每次 input 事件觸發後將輸入框的值與數據進行同步

                   <input v-model.lazy="msg" >

                  .number           自動將用戶的輸入值轉為數值類型

                   <input v-model.number="age" type="number">

                  .trim                 自動過濾用戶輸入的首尾空白字元

                              <input v-model.trim="msg">

    vue的事件修飾符

                   vue.js為 v-on 提供了事件修飾符

                   .stop                 阻止maop

                   .prevent           阻止預設事件

                   .captur             添加事件監聽器時使用事件捕獲模式

                   .self                  只當事件在該元素本身(比如不是子元素)觸發是觸發回調

                   .once                事件值觸發一次

                   事件修飾符是可以串聯的:

                          

                   .stop和.self的區別:

                           .stop阻止事件冒泡

                           .self只會阻止自己身上冒泡行為的觸發,並不會真正阻止 冒泡行為

 


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

-Advertisement-
Play Games
更多相關文章
  • 如果你還不知道redis的基本命令與基本使用方法,請看 【redis】redis基礎命令學習集合 緩存 redis還有另外一個重要的應用領域——緩存 引用來自網友的圖解釋緩存在架構中的位置 預設情況下,我們的服務架構如下圖,客戶端請求service,然後service去讀取mysql資料庫 問題存在 ...
  • kafka0.9版本以後用java重新編寫了producer,廢除了原來scala編寫的版本。 這裡直接使用最新2.3版本,0.9以後的版本都適用。 註意引用的包為:org.apache.kafka.clients.producer 0.11.0以後增加了事務,事務producer的示例代碼如下,需 ...
  • 前言 本文主要介紹的是ElasticSearch集群和kinaba的安裝教程。 ElasticSearch介紹 ElasticSearch是一個基於Lucene的搜索伺服器,其實就是對Lucene進行封裝,提供了 REST API 的操作介面. ElasticSearch作為一個高度可拓展的開源全文 ...
  • 今天來學習下TextField文本框組件和Card卡片組件。 只要是應用程式就少不了交互,基本上所有的應用程式都會有用戶名、密碼輸入框,搜索框等等,前面我們有寫過一篇基於Form表單的輸入功能,今天來看一下TextField文本框組件,文本輸入是最常見的一種交互方式,TextField組件就是... ...
  • 試過網上很多的例子,有的設置Go to `File->Settings->Build, Execution, Deployment->Gradle->Uncheck Offline work option.` 但我的沒成功,後來發現 打開C:/Users/(用戶名)/.gradle/gradle.p ...
  • 主要是javaScript的基礎 變數 數據類型 運算符 表達式 怎樣定義 ...
  • 問題 今天組長跟我們討論了個問題,說是文章存儲占用有點大,消耗寬頻流量費,讓我看看能不能找個方法解決一下(文章存儲的是html字元串)。第一反應是沒什麼頭緒,能想到的就是將相同的字元串替換成一個標識之類的,小程式再通過標識替換回原本的字元(感覺就不是很靠譜...)。 後來發現真的不靠譜,首先每篇文章 ...
  • 今天小編給大家詳細講解一下 vue 的生命周期。希望大家多多指教,哪裡有遺漏的地方,也請大家指點出來 謝謝。 一、 怎麼理解 Vue 的生命周期的? 生命周期:從無到有,到到無的一個過程。Vue的生命周期對組件來說的 或 實例來說。 簡單理解:比如我們都知道 js 中的定時器,定時器都有開始的那一秒 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...