中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue全局組件與局部組件使用方法詳解

發布時間:2020-09-07 13:28:08 來源:腳本之家 閱讀:173 作者:evendetail 欄目:web開發

vue全局/局部注冊,以及一些混淆的組件

main.js入口文件的一些常用配置, 在入口文件上定義的public.vue為全局組件,在這里用的是pug模版 .wraper 的形式相當于<div class=wraper></div>

main.js文件

**main.js入口文件的內容**

import Vue from 'vue'
import App from './App'
import router from './router'
// 引入公用組件的vue文件 他暴漏的是一個對象
import cpublic from './components/public'

Vue.config.productionTip = false

// 注冊全局組件-要在vue的根事咧之前
// 參數 1是標簽名字-string 2是對象 引入外部vue文件就相當與一個對象
Vue.component('public', cpublic)
// 正常注冊全局組件的時候,第二個參數應該是對象。
Vue.component('public1', {
 template: '<div>正常的組件模式</div>'
})
/* eslint-disable no-new */
// 生成vue 的根實例;創建每個組件都會生成一個vue的事咧
new Vue({
 el: '#app',
 router,
 template: '<App/>',
 components: { App }
})

public.vue 組件為定義的全局組件在任何組件里都可以直接使用,不需要在vue實例選項components上在次定義,也不需要再次導入文件路徑。

**public.vue的組件內容**


<template lang="pug">
.wrapper
 slot(text="我是全局組件") {{name}}

</template>

<script>
export default {
 name: 'HelloWor',
 // 全局組件里data屬性必須是函數,這樣才會獨立,
 // 在組件改變狀態的時候不會影響其他組件里公用的這個狀態
 data () {
  return {
   name: '我是全局組件'
  }
 }
}
</script>

<style scoped>

</style>

parent.vue組件里,用到了public全局組件以及其他的子組件

parent.vue組件

<template lang="pug">
.wrap
 .input-hd
  .title 名稱:
  input.input(type="text",v-model="msg",placeholder="請輸入正確的值",)
 .content-detail
  .content-name 我是父組件的內容 
 children(:msg='msg', number='1')
 public
 router-link(to='/parent/children2') 第二個子組件
 router-view
</template>

<script>
import children from './children'
// children(:msg='msg', number='1')在組件里 也可以傳遞自定義的屬性,但是是字符串類型,

export default {
 name: 'HelloWor',
 data () {
  return {
   // 通過prop將數據傳遞到子組件,并與v-model想對應的輸入框相互綁定。
   msg: '這個是父組件的-prop-數據'
  }
 },
 components: {
  children
 }
}
</script>

<style scoped>
.wrap {
}
.input-hd {
 display: flex;
 flex-direction: row;
 align-items: center;
 height: 70px;
}
</style>

children.vue是parent.vue的子組件,但是只在parent.vue作用域里可用

<template lang="pug">
.wrapper
 slot(text="我是子組件的text") 我是子組件的內容
 .name {{ msg }} {{ number }}
</template>

<script>
export default {
 name: 'HelloWor',
 // 接受的時候是用props接受,數組的形式,里面是字符串的形式。
 // 也可以傳入普通的字符串
 // 在子組件中,props接受到的狀態當作vue的實例屬性來使用
 props: [ 'msg', 'number' ]
}
</script>

<style scoped>

</style>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

威信县| 福州市| 泗水县| 承德县| 祥云县| 聂拉木县| 体育| 紫云| 温宿县| 皋兰县| 镇江市| 海城市| 蓬溪县| 湖口县| 镇赉县| 阿坝| 梅州市| 桐乡市| 吴桥县| 洪湖市| 凉城县| 南澳县| 和平区| 株洲市| 卓尼县| 涡阳县| 巴南区| 昌吉市| 探索| 杨浦区| 镇平县| 思南县| 吐鲁番市| 大港区| 陇川县| 临城县| 吴堡县| 涞水县| 澎湖县| 罗城| 宁陵县|