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

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 14:05:15
字體:
供稿:網(wǎng)友

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

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

main.js文件

**main.js入口文件的內(nèi)容**import Vue from 'vue'import App from './App'import router from './router'// 引入公用組件的vue文件 他暴漏的是一個對象import cpublic from './components/public'Vue.config.productionTip = false// 注冊全局組件-要在vue的根事咧之前// 參數(shù) 1是標簽名字-string 2是對象 引入外部vue文件就相當與一個對象Vue.component('public', cpublic)// 正常注冊全局組件的時候,第二個參數(shù)應(yīng)該是對象。Vue.component('public1', { template: '<div>正常的組件模式</div>'})/* eslint-disable no-new */// 生成vue 的根實例;創(chuàng)建每個組件都會生成一個vue的事咧new Vue({ el: '#app', router, template: '<App/>', components: { App }})

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

**public.vue的組件內(nèi)容**<template lang="pug">.wrapper slot(text="我是全局組件") {{name}}</template><script>export default { name: 'HelloWor', // 全局組件里data屬性必須是函數(shù),這樣才會獨立, // 在組件改變狀態(tài)的時候不會影響其他組件里公用的這個狀態(tài) 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="請輸入正確的值",style="outline:none;") .content-detail  .content-name 我是父組件的內(nèi)容  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將數(shù)據(jù)傳遞到子組件,并與v-model想對應(yīng)的輸入框相互綁定。   msg: '這個是父組件的-prop-數(shù)據(jù)'  } }, 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") 我是子組件的內(nèi)容 .name {{ msg }} {{ number }}</template><script>export default { name: 'HelloWor', // 接受的時候是用props接受,數(shù)組的形式,里面是字符串的形式。 // 也可以傳入普通的字符串 // 在子組件中,props接受到的狀態(tài)當作vue的實例屬性來使用 props: [ 'msg', 'number' ]}</script><style scoped></style>

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 沁阳市| 全南县| 罗田县| 万全县| 广东省| 金川县| 突泉县| 栾川县| 大同县| 大足县| 温泉县| 九江县| 密山市| 桑日县| 隆子县| 松江区| 瑞丽市| 深泽县| 富顺县| 石景山区| 芒康县| 富川| 尚志市| 兴宁市| 威信县| 喀喇沁旗| 平舆县| 磐石市| 金门县| 松原市| 收藏| 府谷县| 独山县| 光山县| 枣庄市| 绥中县| 肇庆市| 基隆市| 宁津县| 自贡市| 礼泉县|