vue全局/局部注冊,以及一些混淆的組件
為盧氏等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及盧氏網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站設計制作、網(wǎng)站設計、盧氏網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
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的根事咧之前 // 參數(shù) 1是標簽名字-string 2是對象 引入外部vue文件就相當與一個對象 Vue.component('public', cpublic) // 正常注冊全局組件的時候,第二個參數(shù)應該是對象。 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的組件內容** <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="請輸入正確的值",) .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將數(shù)據(jù)傳遞到子組件,并與v-model想對應的輸入框相互綁定。 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") 我是子組件的內容 .name {{ msg }} {{ number }} </template> <script> export default { name: 'HelloWor', // 接受的時候是用props接受,數(shù)組的形式,里面是字符串的形式。 // 也可以傳入普通的字符串 // 在子組件中,props接受到的狀態(tài)當作vue的實例屬性來使用 props: [ 'msg', 'number' ] } </script> <style scoped> </style>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
當前文章:vue全局組件與局部組件使用方法詳解
本文來源:http://jinyejixie.com/article6/ijjeig.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、做網(wǎng)站、響應式網(wǎng)站、網(wǎng)站收錄、手機網(wǎng)站建設、營銷型網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)