【基礎】-----Vue.js的瞭解

1.官網:cn.vuejs.org
    Stript標籤引入要在head裏面

2.掛載點,模板,實例之間關係
    <div id="root">   </div>   -- >掛載點,掛載點之內的內容,是模板
    <script>
     new Vue({
           el:"#root",
           template:'<h1>hello</h1>',    模板可以放在實例裏
           data:{
          msg:"world"

          }
       })
    </script>

3.Vue實例中的數據,事件和方法
      <h1>{{number}}<h1/>   插值表達式
      <h1 v-text="contect"><h1/>
      <div v-html="contect">   </div>二者差別在於,v-text能轉義,將標籤以字符串方式展現

綁定事件:  <div  v-on:click=“handleClick”>   </div>
                     handleClick定義在Vue實例的methods裏
                    

事件綁定簡寫:v-on:   可替換成  @

4.Vue中的屬性綁定和雙向數據綁定
   <div v-bind:title="title"></div>   title變量指的是實例裏的data中title的值
    v-bind:   可簡寫爲   :
    雙向綁定:<input   v-model="contect"/>  input 內容改變,實例中的contect內容也跟着改變

5.Vue中的計算屬性和偵聽器

   

 compute:一個屬性由其他屬性計算而來。其他屬性沒改變,該屬性用的是緩存值

偵聽器:
<div>{{count}}</div>
data:{
    count:0
}
watch:{
   firstName:function(){
           this.count++           只要firstName的值發生變化,count+1
    }
}

6.v-if,v-show,v-for指令
v-if   當他對應的數據項的值是false時,會直接將該標籤清除,
v-show   當他對應的數據項的值爲false時,將該標籤增加display:none 屬性
隱藏顯示頻繁時用v-show性能更好

v-for:
<ul>
        <li  v-for="item of list"  :key="item">{{item}}</li>   使用key提升渲染效率,但要求key值都不同,若item值相同,

                                                                                           可以用index做key值  v-for="(item ,index)of list"
</ul>
data{list:[1,2,3]}

7.組件的拆分及全局組件,局部組件


全局組件↑


局部組件↑

組件的拆分↑
props屬性:意爲該組件接收從外部傳過來的名爲content的屬性

8.組件與實例的關係

   每一個vue的組件就是一個vue實例,每一個組件也可以寫method等屬性

 



當小組件被點擊時,觸發了handelClick方法 ,該方法向外觸發一個事件,事件名爲delete,事件對應的值爲index;由於父組件在創建子組件時,有一個監聽事件,當監聽到delete方法被觸發時,就會執行handelDelete方法,該方法定義在父組件的模板裏,爲父組件的方法


將list中對應的index下標的值刪掉。一旦list發生變化,todo-item會將對應的該組件從列表刪掉

總結一下大概的邏輯過程:
(1):父組件通過prop向子組件傳值 子組件獲得父組件傳來的內容和索引。
(2):子組件通過$emit向父組件拋出觸發事件名稱(delete)和觸發事件的list索引值。
(3):父組件通過監聽對應事件名稱(@delete)觸發函數handleDelete。函數通過子組件拋出的索引值對應刪除list

vue-cli相關用法:
1.template中只能有有個標籤包裹其他所有標籤
2.data  不再是一個對象而是一個函數,返回值爲對應數據


 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章