Vue學(xué)習(xí)一


title: Vue學(xué)習(xí)一
date: 2019-04-09 21:44:42
tags:


Vue縮寫語法:

v-bind縮寫

<!-- 完整語法 -->
<a v-bind:href="url">...</a>

<!-- 縮寫 -->
<a :href="url">...</a>

v-on縮寫

<!-- 完整語法 -->
<a v-on:click="doSomething">...</a>

<!-- 縮寫 -->
<a @click="doSomething">...</a>

Vue組件的使用

組件是vue.js中最核心的功能,是整個框架設(shè)計最精彩的地方,也是最理解的。

組件的用法

組件與創(chuàng)建vue類似,需要組測之后才能使用。

全局注冊

    Vue.component('my-component',{
        template:"<h1>這是全局組件</h1>",
    })

渲染后結(jié)果

<div id="app">
    <h1>這是全局組件</h1>
</div>

父子之間通信

在組件中使用props聲明需要從父級接受的數(shù)據(jù),props的值可以是兩種:字符串或者對象。

    <div id="app">
        <introduce :titles="msg"></introduce>
        <hr>
        <for-component :items="lessons"></for-component>
        <my-component></my-component>
    </div>
<script>
    //父向子通信
    const introduce = {
        template:"<h1>{{titles}}</h1>",
        props:['titles']
    };
    const forComponent ={
            template:"<ul><li v-for='item in items'>{{item}}</li></ul>" ,
       // props:['items']
        props: {items:{
                type:Array,
                default:['java']
            }}
    };
    const app = new Vue({
        el:"#app",
        data:{
            msg:"大家好",
            lessons:["java",'php','python']
        },
        components:{
            introduce,forComponent
        }
    })
</script>

渲染后的結(jié)果


父子通信結(jié)果

子向父之間通信

子組件用$emit()來觸發(fā)事件,示例代碼如下:

    <div id="app">
        <counter :num="count" @incr="add" @decr="reduce"></counter>
    </div>
<script>
    const counter = {
        template:`
        <div>
         <button @click="handleAdd">+</button>
        <button @click="handleReduce">-</button>
        <h1>Num:{{num}}</h1>
        </div>`,
        props:['num'],
        methods: {
            handleAdd(){
                this.$emit('incr');
            },
            handleReduce(){
                this.$emit('decr');
            }
        }
    };
    const app = new Vue({
        el:"#app",
        data:{
            count:0,

        },
        components:{
            counter
        },
        methods:{
            add(){
                this.count++;
            },
            reduce(){
                this.count--;
            }
        }
    })
</script>    

const 是ec6中的語法,子向父通信較為麻煩。
渲染后的結(jié)果:


父子通信結(jié)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 組件(Component)是Vue.js最核心的功能,也是整個架構(gòu)設(shè)計最精彩的地方,當(dāng)然也是最難掌握的。...
    六個周閱讀 5,759評論 0 32
  • 前言 您將在本文當(dāng)中了解到,往網(wǎng)頁中添加數(shù)據(jù),從傳統(tǒng)的dom操作過渡到數(shù)據(jù)層操作,實現(xiàn)同一個目標(biāo),兩種不同的方式....
    itclanCoder閱讀 26,238評論 1 12
  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容,還有我對于 Vue 1.0 印象不深的內(nèi)容。關(guān)于...
    云之外閱讀 5,168評論 0 29
  • 此文基于官方文檔,里面部分例子有改動,加上了一些自己的理解 什么是組件? 組件(Component)是 Vue.j...
    陸志均閱讀 3,944評論 5 14
  • 什么是組件? 組件 (Component) 是 Vue.js 最強大的功能之一。組件可以擴展 HTML 元素,封裝...
    youins閱讀 9,702評論 0 13

友情鏈接更多精彩內(nèi)容