Vuejs入門-----安裝+基本文法學習筆記

來源:互聯網
上載者:User

標籤:capture   hang   連接埠   ted   for迴圈   空格   -o   移動   事件處理   

一、基本介紹

Vuejs是一套構建使用者介面的漸進式架構。

vue-cli腳手架 搭建基本代碼架構
vue-router 官方外掛程式管理路由
vue-resourse Ajax通訊
webpack 構建工具
es6+eslint eslint:es6代碼風格檢查工具
工程化 組件化 模組化

移動端常用開發技巧:flex彈性布局 css stickyfooter 炫酷的互動設計

2-vuejs介紹
架構從傳統後台MVC向REST API+前端MV*遷移
MVVM :view(視圖、dom) viewmodel(通訊,觀察者) model(資料,js對象)
應用情境:針對具有複雜互動邏輯的前端應用
提供基礎的架構抽象
通過Ajax資料持久化,保證使用者體驗
eg: angular react vuejs

輕量級MVVM架構
資料驅動+組件化的前端開發
Github超過25k+的star數,社區完善

資料驅動:DOM是資料的一種自然映射
組件化:擴充html元素,封裝可重用的代碼
原則:頁面上每個獨立的可視/可互動地區視為一個組件
每個組件對應一個工程目錄,組件所需要的各種資源在 這個目錄就近維護
頁面不過是組件容器,組件可以嵌套自由組合形成完整 的頁面

二、安裝

  本人用npm方法安裝。(前期工作見另一篇隨筆: Nodejs下載到其他盤後的環境配置+第一個http伺服器的構建  )

     開啟cmd 輸入以下命令,my-project這個是工程名,可以隨便起的。先進入你要建立的檔案夾下再建立webpack。

  先安裝vue-cli相當於建築工人先把架構搭好才能繼續工作。

  

      執行完第二步會有一系列問題:(我的工程名叫sell ,斷行符號繼續)

 根據紅框裡的提示再依次輸入。 瀏覽器就會自動開啟

  說明安裝vue成功了。

三、目錄結構:

      build:最終發布的代碼存放位置

      config:配置目錄,包括連接埠號碼等。

           node_modules:npm載入的項目相依模組

          src:開發目錄 源碼

                           assetes:放置一些圖片,如logo等

                            components:目錄裡面放了一個組件檔案,可以不用

                            App.vue:項目入口檔案,我們可以直接將組件寫這裡

                            main.js:項目的核心檔案

            static:靜態資源目錄,片字型等

           test:初始測試目錄,可刪除

            .***.:設定檔

                   index.html:首頁入口檔案

                   package.json:項目設定檔

                   README.md:項目的說明文檔

四、模組文法

        1、插值

                   文本:資料繫結   {{ message}}

                   html:

屬性:v-bind

                   運算式:js的運算式

         2、指令

                   參數:v-bind指令被用來響應地更新html屬性

 

 

這裡的href是參數

               <a v-on:click="doSomething">

                   v-on 用來監聽DOM事件

                   修飾符:半形句號(還不太懂)

         3、使用者輸入

input輸入框 用v-model指令來實現雙向資料繫結

v-on監聽事件

         4、過濾器

五、條件陳述式

         1、條件判斷

                   v-if:在元素和template中使用

                   v-else :

                   v-else-if :

                   v-show:不支援template文法

六、迴圈語句

         v-for指令需要以site in sites形式的特殊文法,sites是來源資料 site是數組元素別名

         迭代對象:v-for=”value in object”

         index 索引 key value 索引值對

          學過oracle的大概都知道,這跟遊標for迴圈遍曆類似。

七、計算屬性

computed vs methods

用methods代替computed效果是一樣的,但是computed可以快取資料

八、樣式綁定

         1、class屬性綁定

在對象中傳入更多屬性用來動態切換多個class:<div class="static active text-danger"></div>

2、數組文法

         可以把一個數組傳給v-bind-class

3、v-bind:style

九、事件處理器

         事件監聽用v-on

         事件修飾:click.stop(阻止事件冒泡) submit.prevent(提交事件不再重載頁面) click.capture(添加事件接聽程式時使用事件捕獲模式) click.self(只當事件在該元素本身觸發時觸發) click.once(事件至少觸發一次)

十、表單

         複選框

<!DOCTYPE html><html><head><meta charset="utf-8"><title>Vue 測試執行個體</title><script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script></head><body><div id="app">  <p>單個複選框:</p>  <input type="checkbox" id="checkbox" v-model="checked">  <label for="checkbox">{{ checked }}</label>  <p>多個複選框:</p>  <input type="checkbox" id="runoob" value="Runoob" v-model="checkedNames">  <label for="runoob">Runoob</label>  <input type="checkbox" id="google" value="Google" v-model="checkedNames">  <label for="google">Google</label>  <input type="checkbox" id="taobao" value="Taobao" v-model="checkedNames">  <label for="taobao">taobao</label>  <br>  <span>選擇的值為: {{ checkedNames }}</span></div><script>new Vue({  el: ‘#app‘,  data: {checked : false,    checkedNames: []  }})</script></body></html>

  

 

 單選框

<!DOCTYPE html><html><head><meta charset="utf-8"><title>Vue 測試執行個體</title><script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script></head><body><div id="app">  <input type="radio" id="runoob" value="Runoob" v-model="picked">  <label for="runoob">Runoob</label>  <br>  <input type="radio" id="google" value="Google" v-model="picked">  <label for="google">Google</label>  <br>  <span>選中值為: {{ picked }}</span></div><script>new Vue({  el: ‘#app‘,  data: {picked : ‘Runoob‘  }})</script></body></html>

  

 

下拉式功能表

<!DOCTYPE html><html><head><meta charset="utf-8"><title>Vue 測試執行個體 </title><script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script></head><body><div id="app">  <select v-model="selected" name="fruit">    <option value="">選擇一個網站</option>    <option value="www.runoob.com">Runoob</option>    <option value="www.google.com">Google</option>  </select>   <div id="output">      選擇的網站是: {{selected}}  </div></div><script>new Vue({  el: ‘#app‘,  data: {selected: ‘‘   }})</script></body></html>

  

修飾符:.lazy <!-- 在 "change" 而不是 "input" 事件中更新 -->

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

.number

如果想自動將使用者的輸入值轉為 Number 類型(如果原值的轉換結果為 NaN 則返回原值),可以添加一個修飾符 number 給 v-model 來處理輸入值

.trim

如果要自動過濾使用者輸入的首尾空格,可以添加 trim 修飾符到 v-model 上過濾輸入

十一、組件

1、  全域群組件

<!DOCTYPE html><html><head><meta charset="utf-8"><title>Vue 測試執行個體</title><script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script></head><body><div id="app"><runoob></runoob></div><script>// 註冊Vue.component(‘runoob‘, {  template: ‘<h1>自訂群組件!</h1>‘})// 建立根執行個體new Vue({  el: ‘#app‘})</script></body></html>

  2、局部組件

 

<!DOCTYPE html><html><head><meta charset="utf-8"><title>Vue 測試執行個體</title><script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script></head><body><div id="app"><runoob></runoob></div><script>var Child = {  template: ‘<h1>自訂群組件!</h1>‘}// 建立根執行個體new Vue({  el: ‘#app‘,  components: {    // <runoob> 將只在父模板可用    ‘runoob‘: Child  }})</script></body></html>

  

 vue的開發文檔很友好,此處只列出了基本的文法,有需要可以看開發文檔。

 

------------------------------------------------------------------------------------------阿羅哈-------------------------------------------------------------------------------------------------------------------------------------------

   並非教學帖,只是自己學習中的筆記。

  原創,著作權保護。

 over。

 

Vuejs入門-----安裝+基本文法學習筆記

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.