vue.js入門筆記


vue.js入門筆記(ps:前端初級)

第一章 vue.js是什么?

Vue(法語) view(英語)

是一套構建用戶界面的MVVM框架。核心庫只關注視圖層。並且非常容易學習。

非常容易與其它庫或者已有的項目進行整合

1.1 Vue.js的目的

vue.js的產生核心是為了解決如下三個問題:

1、解決數據綁定的問題:(從angular.js人們認識到)
2、Vue.js框架產生的主要目的是為了開發大型單頁面應用(SPA:Single page application )
  angular.js對PC端支持良好,但是對移動端支持一般。而Vue.js主要支持移動端,也支持PC端。
3、它還支持組件化。也就是可以將頁面封裝成若干個組件。采用積木式編程,這樣使頁面的復用度達到最高(支持組件化)


1.2 Vue.js特性

1.MVVM
  M:model 業務模型 ,用處:處理數據,提供數據
  V:view 用戶界面、用戶視圖

  業務模型model中的數據發生改變的時候,用視view也會隨之變化。用戶試圖view改變的時候,業務模型model中的數據也可以發生改變。

2.組件化
3.指令系統
4.Vue.js2.0 開始支持虛擬DOM(Vuejs 1.0是操作的真實DOM,而不是虛擬DOM)
  虛擬DOM可以提升頁面的刷新速度。

第二章  Vue.js入門

使用Vue.js的步驟:
  第一步:在html中引入這個Vue.js。(通過一個script的標簽)

  第二步:Vue.js提供了一個Vue,我們需要創建一個對象
      new Vue();

  第三步:在用戶界面view中,通過{{}}形式將data中的數據顯示在頁面中。
      在用戶界面中,{{}}中綁定的data的key(鍵值),而在界面中顯示的是該key的value。

      Vue.js對獲取的data與頁面上顯示的{{}}會產生一種映射關系。
      app這個變量會搭理vue中data數據,所以我們訪問數據的時候,直接使用app.name(例子)

      如果我們要實現前后台交互,只要將從后台得到的數據放在app.data中,頁面就會自動綁定,這樣就實現了從model>view的數據流向。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>vue.js入門</title>
 6     <script src="js/vue.js"></script>
 7 </head>
 8 <body>
 9     <h1 id="demo">{{name}},歡迎您來到Vue.js的樂園!</h1>
10 </body>
11 <script>
12     var app = new Vue({
13         el:'#demo',      //聲明Vue.js管理的邊界(可以是ID,類,標簽名等選擇器)(PS:同樣的選擇器,這里只會匹配第一個。。)
14         data:{           //data核心作用是存放顯示在頁面中的數據,需要是一個對象
15             name:'akun'
16         }
17     });
18 </script>
19 </html>

 

第三章 Vue.js指令

  指令,其實指的就是vue自定義的v- 開頭的自定義屬性,每個不同的屬性都有各自不同的意義和功能。

  指令的語法:
    v-指令名稱=“表達式判斷或者是業務模型中屬性名或者事件名”


  3.1 v-text
    作用:操作元素中的純文本
    快捷方式:{{}} (PS:最外面的引號是vue.js的界限符號,並非字符串的引號,所以里面是字符串的時候,需要另加引號)

示例1

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue.js控制純文本(上)</title>
    <script src="js/vue.js"></script>
</head>
<body>
    <h1 id="demo" v-text="'今天是'+year+'年'+month+'月'+day+'日'"></h1>
    <script>
        new Vue({
            el:'#demo',  //vue管理的邊界
            data:{
                year:new Date().getFullYear(),
                month:new Date().getMonth()+1,
                day:new Date().getDate()
            }
        });

    </script>
</body>
</html>

 示例2

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue.js控制純文本(下)</title>
    <script src="js/vue.js"></script>
</head>
<body>
    <div id="demo">
        <p>姓名:{{person.name}}</p>
        <p>年齡:{{person.age}}</p>
        <p>性別:{{person.sex}}</p>
    </div>
    <script>
        var app = new Vue({
            el:'#demo',
            data:{
                person:{
                    name:'xushankun',
                    sex:'男',
                    age:'25'
                }
            }
        });
        app.person.sex='男的嗎';   //通過js來控制文本
        console.log(app.person.sex);
    </script>
</body>
</html>

  

  3.2 v-html
    作用:操作html

示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue.js控制html</title>
    <script src="js/vue.js"></script>
</head>
<body>
    <div id="demo" v-html="msg">{{msg}}</div>
    <script>
        var app = new Vue({
            el:'#demo',
            data:{
                msg:' <img src="images/03.jpg" alt="">'
            }
        });
    </script>
</body>
</html>

  

  3.3 v-bind
    作用:v-bind綁定頁面中的元素屬性。例如:a的href屬性,img的src、alt和title屬性。
    語法:v-bind:元素的屬性名 = "data中鍵名"

 

    

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue.js控制html</title>
    <script src="js/vue.js"></script>
</head>
<body>
    <div id="demo">
        <img v-bind:src="msg" alt="">
    </div>
    <script>
        var app = new Vue({
            el:'#demo',
            data:{
                msg:'images/03.jpg'
            }
        });
    </script>
</body>
</html>

  

    在view模板中,可以使用簡單的JS表達式,例如:
    <p>{{num==1? '輸出A' : '輸出B'}}</p>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM