【Vue】Vue初步學習

VUE 學習


<div id="app">{{ a }}</div>

<script>
    var data = {a:1}
    var vm = new Vue({
        el:'#app',
        data:data
    })
</script>


1、Object.freeze(obj); # 阻止修改obj的屬性
2、Vue暴露的實例屬性和方法,都有前綴$,以便與用戶定義的屬性區分開
例如: $data  $el  $watch
vm.$data == data
3、$watch可以觀察某個屬性變化之前和之後的值
vm.$watch('a',function(newVal,oldVal){
    
})

4、v-once指令,執行一次性插值,當數據改變時,插值處的內容不會更新。
<span v-once>這個值將不會改變:{{ msg }}</span>

5、v-html指令 :{{}}大括號會把數據默認當成文本,如需輸出html,則需使用v-html標籤

<p v-html></p>

6、v-bind指令:綁定屬性
<div v-bind:id="qq"></div>
7、v-if v-if-else v-else
8.修飾符 .stop 當前執行完會停止
<span @click="click1">
    <span @click.stop = "click2"></span>
</span>
有.stop執行完click2就不會執行click1
沒有.stop執行完click2,繼續執行click1

9、class和style綁定

<div
    class="test"
    v-bind:class="{redBtn:isRed,greenBg:isGreen}"
    v-bind:class="['redBtn','greenBg']"
    v-bind:class="[isRed ? 'redBtn' : '',]"
    v-bind:style="{color:colorP,background:backgroundP}"
>

Hello VUE

</div>

<script>

    vm = new Vue({
        el:"#app",
        data:{
            isRed:true,
            isGreen:true,
            colorP:'#FFF',
            backgroundP:'#000ddd'
        }
    });

</script>

<style>
.test{}
.redBtn{}
.greenBg{}
</style>

10、v-show 的元素會一直渲染,只是通過簡單的控制顯示或不顯示
<div id="app">
    <h1 v-show="ok">Hello H1!</h1>
</div>

<script>

    vm = new Vue({
        el:"#app",
        data:{
            ok:true //如果是true就顯示,false則不顯示
        }
    });

</script>

11、v-for 列表渲染

<li v-for="item in items">
    {{ item.message }}
</li>
<li v-for="val in Object" >
    {{ val }}
</li>

<li v-for="item,index in items" :key="index">
    {{ index }}
    {{ item.message }}
</li>

<li v-for="val,key in Object" :key="key">
    {{ key }}
    {{ val }}
</li>

加了key值,列表就有了唯一性,會根據key自動排序

<script>

</script>

12、簡寫 v-bind:key 等同於 :key
v-on:click 等同於 @click


13、事件處理:v-on:click
<button v-on:click="counter += 1"></button>
<button v-on:click="greet"></button>

有時候需要在內聯語句中訪問原始DOM事件,可以用 $event 把它傳入方法

<button v-on:click="greet('str',$event)"></button>

<script >
    vm = new Vue({
        el:'#app',
        data:{
            counter:100
        },
        methods:{
            greet:function(str,event){
                console.log(str);
                console.log(event);
            }
        }
    });
</script>

14、事件修飾符 (多個修飾符可以串聯)
.stop //阻止事件繼續
.prevent //不在重載頁面
.capture //
.self
.once
.passive

15、表單輸入綁定
v-model 雙向綁定
16、組件
this.$emit('clicknow',this.count) //觸發函數
組件中,通過<slot></slot>插槽,方便組件動態插入HTML代碼
17、組件註冊
全局註冊
局部註冊


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