1. 程式人生 > 其它 >Vue—02—基本語法學習

Vue—02—基本語法學習


一、基本語法

1、mustache語法:

雙大括號,讓data屬性的值響應式的顯示在html檔案中;

也可以在雙大括號中寫一些簡單的表示式;

2、v-once語法

標籤只渲染一次,後期改變不進行渲染;

還有v-for和v-on語法和v-clok語法;

其中v-cloak斗篷語法,現在用的很少;

v-on的語法需要在vue物件定義methods屬性;

3、v-html和v-text語法

內容可以直接以html的形式或者text形式展示出來;

內容有html標籤就用v-html,如果只是純文字則用v-text;但是v-text會覆蓋div標籤裡的東西,不是很靈活,所以還是用mastance語法;

4、v-pre語法

5、v-bind語法

v-bind語法和mustache語法:

  • 在標籤的內容中繫結vue變數使用mustance語法;
  • 在標籤的屬性中繫結vue變數使用v-bind語法;

v-bind的幾種方式

  • 為標籤的屬性繫結一個普通變數
  • 為標籤的屬性繫結物件
  • 為標籤的屬性繫結陣列

(1)v-bind動態繫結標籤的基本屬性比如src或href

使用方法:加了v-bind,vue看到後就會知道src屬性是一個動態變數,就會將imgURL動態繫結到src上;

(2)v-bind動態繫結標籤的class屬性

(3)v-bind動態繫結標籤的style屬性

使用物件的方式

使用陣列的方式

二、計算屬性

1、簡單介紹

即除了vue({el、data、methods})之外,再加一個computed計算屬性;這個屬性和methods類似,但是由於叫屬性所以就呼叫的時候不用加();

2、本質

它的本質或者說完整寫法是下圖紅圈的,它是由set和get方法組成的;

但由於set方法基本不用,get方法又進行了簡寫,所以可以寫成上面那種形式;

但是我們要知道,讀取計算屬性的時候,會用到get方法,修改計算屬性的值的時候,會用到set方法;

3、計算屬性computed和methods的對比

  • computed有快取,多次使用時只會呼叫一次,會非常快;
  • 而且既然叫計算屬性,那麼也是屬性,可以再標籤內容中使用mustanche語法,methods時不能使用mustanche語法的;
  • 計算屬性既然為屬性,那麼是可以實時響應的,而方法只能靠事件觸發,在實時性上還是沒有計算屬性好;

補充知識點:let和const

以前只有var所以只有全域性作用域和區域性作用域,只能搞全域性變數(掛載在windows),和區域性變數(定義在函式內部的叫區域性變數);

但是這var會嚴重影響if語句塊和for語句塊,因為在if、for語句塊定義的變數如果使用var會發現,在外部也可以使用,這肯定是不行的,所以es5的時候要用閉包的方式解決;

現在es6直接使用let解決,除了全域性作用域和區域性作用域還有塊級作用域;

常量的含義是指向的物件不能修改,但是可以改變物件內部的屬性;

即在棧中儲存的記憶體地址不可以改變,但是棧中記憶體地址所指向的物件的內部屬性是可以改變的;

補充知識點:字面量增強

等號=左邊的是變數,右邊的就是字面量;

在本例中,即在物件中,屬性如果是外面已經定義過的變數,則可以直接定義;函式也可以簡寫;

let name = ‘xiaoming‘;
let age = 13;

const  obj = {
    name,
   age,
   run(){
    }  ,
    eat(){
    }
    
    
}

補充知識點:高階函式

filter()方法: 過濾

傳一個引數,這個引數是回撥函式,然後每一次陣列的元素都放在回撥函式中;

arr.filter( function ( n ){
                  return n <100;
              }
);

map()方法: 對映

傳一個引數,這個引數是回撥函式,然後每一次陣列的元素都放在回撥函式中;

arr.map( function ( n ){
                  return n * 100;
              }
);

reduce()方法 彙總

傳兩個個引數,第一個引數是回撥函式(此回撥函式也有兩個引數第一個是previousValue第二個是陣列元素n),然後每一次陣列的元素都放在回撥函式中;第二個引數是previousvalue的初始值本例中是0;
每一次遍歷陣列元素時,第一次的previousValue+n的值都會成為下一次的previousValue的值,由此可以實現加的運算; arr.reduce(
function (previousValue, n ){ return previousValue + n; }, 0 );