vue1.0

来源:http://www.cnblogs.com/Coding--Peasant/archive/2017/07/11/7148740.html
-Advertisement-
Play Games

vue vue.js 是用於構建互動式的 Web 界面的庫。它提供了 MVVM 數據綁定和一個可組合的組件系統,具有簡單、靈活的 API。從技術上講, Vue.js 集中在 MVVM 模式上的視圖模型層,並通過雙向數據綁定連接視圖和模型。實際的 DOM 操作和輸出格式被抽象出來成指令和過濾器。相比其 ...


vue

  vue.js 是用於構建互動式的 Web 界面的庫。它提供了 MVVM 數據綁定和一個可組合的組件系統,具有簡單、靈活的 API。從技術上講, Vue.js 集中在 MVVM 模式上的視圖模型層,並通過雙向數據綁定連接視圖和模型。實際的 DOM 操作和輸出格式被抽象出來成指令和過濾器。相比其它的 MVVM 框架,Vue.js 更容易上手。

Vue.js 是一個用於創建 Web 交互界面的庫。它讓你通過簡單而靈活的 API 創建由數據驅動的 UI 組件。

 

Vue1.0常用語法

var vm = new Vue({

  el: "選擇器",  掛載到頁面的那個元素里,即確定vue的作用範圍  外部可通過vm.$el訪問,得到的是一個原生dom元素,可進行對應操作

  a: '',  //自定義屬性  外部可通過vm.$options訪問

  data: { }, //實例屬性都在這裡面,外部通過實例名,即vm.$data調用

  computed: { }, //計算屬性,也是實例屬性,只是以方法的形式存在,並可以有邏輯運算的屬性

  method: { }, //實例方法都在這裡

  watch: { }, //對data和computed的屬性進行監聽,當屬性有變化時自動觸發,以方法的形式存在 外部通過$.watch調用

  //註意:以上屬性和方法,實例內部都通過this調用,外部則通過對應的實例方法訪問

  //在vue的生命周期過程中,它自身還提供了一系列的鉤子函數供我們使用,進行自定義邏輯的註入:   

  created: function(){ 實例已經創建 }

  beforeCompile: function(){ 模塊編譯之前 }

  compiled: function(){ 模塊編譯之後;即模板占位符被是內容替換}

  ready: function(){ 模板插入到文檔中了;相當於window.onload }//Vue2.0已改為mounted

  註意: 以上4個方法在對象被實例化後即按順序執行,以下2個方法需通過事件觸發,並通過調用 實例名.$destory() 才執行

  beforeDestroy: function(){ 對象銷毀之前 }

  destroyed: function(){ 對象銷毀之後 }

});

Vue對象解析:

1,對象屬性

  data、el、options、watch、computed

 

2,對象方法

  生命周期之鉤子函數

 

3,對象實例訪問和調用屬性和方法

  A:實例屬性調用:$options、$el、$data、$watch

  這裡著重說下$watch,它的一般語法為:

vm.$watch("監聽的實例屬性名",function() { // 對於監聽數據變化後的業務處理代碼 });     --淺度監聽

如果監聽的屬性是基本數據類型,上面用法是沒有問題的,但如果監聽的屬性是對象,則對象內部的數據有變化,上面寫法是監聽不到的,需要進行一個參數進行深度監聽,具體語法如下:

vm.$watch("監聽的實例屬性名",function() { // 對於監聽數據變化後的業務處理代碼 },{deep: true});  --深度監聽

B:實例方法調用:$mount()、$log()、$destroy()

 

4,自帶過濾器&自定義過濾器

  A:vue自帶的過濾器有:

    capitalize(首字母大寫)、uppercase、currency、json( 相當於JSON.Stringify() )、debounce(後跟秒數,配合事件,延遲執行)

    limitBy(參數1, 參數2) 常用語v-for數組,限制輸出數量和從哪輸出;參數1代表輸出幾個,參數2代表從第幾個輸出

    filterBy(參數) 過濾數據,過濾含有參數的數據,配合input輸入框,通過輸入變數過濾,打到熱搜索的效果

    orderBy(參數) 對數據排序,參數為1時為正序,為-1時則倒序,其他什麼參數呢?所以1和-1基本是常用情況

  B:自定義過濾器語法 (對於時間戳的處理是比較常用的自定義過濾器)

Vue.filter("過濾器名稱",function(參數...){

    ...  //業務處理

    return ...;

  });

5,自帶指令和自定義指令

  指令是對HTML語法的擴展,必須以v-開頭,一般我們口中的指令實際是指屬性指令,使用該屬性指令的元素講具有對應的屬性功能,下麵的C則是指元素指令,與屬性指令有所區別

  A:自帶指令:v-if、v-show、v-else、v-module、v-text、v-html、v-bind、v-on、v-el、v-cloak...

  這裡著重說下v-text和v-cloak:在模板中我們調用實例屬性數據時通常這樣{{ 實例屬性 }},這樣在網速比較慢的情況下,頁面出現閃爍的時候會把花括弧和裡面的原始內容顯示出來,這樣用戶體驗不好,處理這種情況有2種方式:

    1, 在較大段落元素上使用v-clock指令,並設置該元素的css: display:none

    2, 使用v-text/v-html代替花括弧即可,Vue2.0也支持這樣做,且花括弧方式可能被取消

  B:自定義指令語法:

 Vue.directive("指令名稱",function(..){
    this.el.style.background = 'red';   //這裡的this代表new出來的實例,this.el代表原生的dom元素
  });

模板中使用v-指令名稱進行使用,或v-指令名稱="參數",可以在調用指令是進行傳參

  定義指令名稱時不加v-,模板使用時加v-

  C: 自定義元素指令 (據說用處不大,可忽略跳過,它所想要達到的效果,組件已超越)

 Vue.elementDirective("自定義元素名稱",{
    bind: function() {};
  });

它不支持B情況語法,但B情況語法卻預設也是bind

 

6,自定義鍵盤信息

Vue.directive('on'),keyCodes.ctrl = 17;  //17是ctrl的鍵碼  等號前的ctrl是定義ctrl的別名,可以隨便取,實際綁定的就是鍵盤上的ctrl鍵

模板調用@keydown.ctrl ="自定義方法"


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

-Advertisement-
Play Games
更多相關文章
  • Eclipse 的控制台必須用GBK編碼。所以條件1和條件4必須同時滿足否則運行的還是亂碼。才能保證不是亂碼。 條件1,Window | Preferences | Workspace | Text fileencoding | GBK編碼。這樣定義的是整個工作區間的編碼。這樣就把整個工作空間的編碼 ...
  • 1.定義 模塊:本質就是.py結尾的文件(邏輯上組織python代碼)模塊的本質就是實現一個功能 文件名就是模塊名稱 包: 一個有__init__.py的文件夾;用來存放模塊文件2.導入模塊 import 模塊名 form 模塊名 import * from 模塊名 import 模塊名 as 新名... ...
  • 接著前兩篇學習筆記,這篇主要介紹佈局管理器和對話框兩部分內容。 一、佈局管理器 先拿一個小例子來引出話題,就按照我們隨意的添加兩個按鈕來說,會產生什麼樣的效果,看執行結果。 執行結果: 從運行程式中,只看到了第二個按鈕B。 原因是每個組件,在容器中都有一個具體的位置和大小,想在容器中排列組件時很難確 ...
  • 一 概述 1.Comparable與Comparator使用背景 數值型數據(byte int short long float double)天生可對比大小,可排序,String實現了Comparable介面也可以對比大小與排序,而自定義類多種多樣,沒有一個共有的可以用作排序的指標,因此需要在自定 ...
  • 線程概述 首先先理解下什麼是進程和線程? 進程: 進程是指一個正在運行中的程式。 每個進程執行都有一個或多個執行順序,這個順序就是一個控制單元(或者叫一個執行路徑),控製程序的運行。 舉例: 大家使用過的迅雷下載,當你啟動迅雷開始下載後,你可以選擇下載單個或者同時下載多個文件。每一個下載任務就是一個 ...
  • 題目描述 The N cows (2 <= N <= 1,000) conveniently numbered 1..N are grazing among the N pastures also conveniently numbered 1..N. Most conveniently of al ...
  • 一、繼承並實現自己的屬性文件配置器類 二、Spring中配置以自定義的屬性文件配置器類來載入加密後的配置文件 三、將配置文件中的特殊屬性用相同的演算法和密鑰加密 ...
  • 配置1:-Xms64m -Xmx512m 配置2:-c default -b 0.0.0.0-Xmx1024M -Xms512M -XX:MaxPermSize=256m ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...