国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue 組件 全局注冊和局部注冊的實現(xiàn)

2024-05-06 15:21:18
字體:
供稿:網(wǎng)友

全局注冊,注冊的組件需要在初始化根實例之前注冊了組件;

局部注冊,通過使用組件實例選項注冊,可以使組件僅在另一個組件或者實例的作用域中可用:

全局組件

js

Vue.component('tab-title',{   props:['title'],   template:'<li v-on:click="$emit(/'change/')">{{title}}</li>' }) Vue.component('tab-content',{   props:['content'],   template:'<div>{{content}}</div>' })

局部組件demo:

html

<div id="app">  <ul class="navTab">   <li v-for="(navTab,index) in navTabs" is="tab-title" v-bind:info="navTab.text" v-bind:class="{active:navTab.isActive}" v-on:addactive="switchActive(index)"></li>  </ul>  <div class="tabContent">   <div v-for="navTab in navTabs" is="tab-content" v-bind:content="navTab.tabContent"    v-bind:class="['tab-panel',{active:navTab.isActive}]" v-if="navTab.isActive"></div>  </div>  </div>

js

var app=new Vue({      el: '#app',     components: {       'tab-title': {        props:['info'],//接受父元素傳遞的參數(shù)        template:'<li v-on:click="$emit(/'addactive/')">{{info}}</li>'//點擊時傳遞通過$emit子元素傳遞給父元素調(diào)用 addactive方法(不能使用駝峰寫法)        },       'tab-content':{         props:["content"],        template:'<div>{{content}}</div>'       }     },     methods:{       switchActive:function(index){        for(var i=0;i<this.navTabs.length;i++){         this.navTabs[i].isActive=false;        }        this.navTabs[index].isActive=true;               }     },     data:{      navTabs:[       {        text:"tab1",        isActive:true,        tabContent:'this is tab1 content'       },       {        text:"tab2",        isActive:false,        tabContent:'this is tab2 content'       },       {        text:"tab3",        isActive:false,        tabContent:'this is tab3 content'       }      ]     }    });

組件實例的作用域是孤立的。這意味著不能再子組件的模板內(nèi)直接引用父組件的數(shù)據(jù)。要讓子組件可以使用父組件的數(shù)據(jù),我們需要通過子組件的props選項。

子組件要顯式地用 props 選項聲明它期待獲得的數(shù)據(jù)

在模板中,要動態(tài)地綁定父組件的數(shù)據(jù)到字模板的props,與綁定到任何普通的HTMO特性相類似。就是使用 v-bind。每當父組件的數(shù)據(jù)變化時,該變化也會傳遞給子組件:

所有的vuejs組件都是被擴展的vue實例

每一個Vue實例都會代理這個實例的data屬性對象里的所有的屬性

所有的Vue實例本身保羅的屬性和方法,都以$開頭來區(qū)別,對應(yīng)Vue.set

例如:

vm.$data

vm.$methods

vm.$watch

這個有利于和data屬性對象的數(shù)據(jù)來區(qū)分

多有的指令都以v-xxx形式存在:

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 两当县| 若羌县| 广宗县| 安义县| 胶州市| 临沂市| 彭阳县| 凤山县| 读书| 武平县| 广丰县| 政和县| 新野县| 定陶县| 广饶县| 萨嘎县| 荆门市| 突泉县| 静乐县| 龙门县| 唐海县| 桂平市| 垦利县| 江陵县| 杭锦旗| 天长市| 靖江市| 乐业县| 株洲县| 壤塘县| 剑河县| 福贡县| 安塞县| 泉州市| 聂荣县| 柳河县| 乌鲁木齐县| 理塘县| 东辽县| 镇沅| 平泉县|