欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue 組件的掛載與父子組件的傳值實例

 更新時間:2020年09月02日 15:41:44   作者:愛學習的小發(fā)發(fā)  
這篇文章主要介紹了Vue 組件的掛載與父子組件的傳值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1:將需要掛載的組件放置在component之中

2:全局掛載在main.js之中

import Vue from 'vue'
import App from './App.vue'
import getTime from './component/child/getTime'

//全局注冊 整個項目的組件都可以使用
//注冊給整個vue 對象
//引入需要注冊的全局組件

//在vue類的方法 component里面進行注冊
Vue.component('v-times',getTime);
Vue.component('v-times',{
 template:"<div>{{msg}}</div>",//字符串的標簽模板
 data(){ //當前模板的數(shù)據(jù)
  return {
   msg:"時間"
  }
 }
});
new Vue({
 el: '#app',
 render: h => h(App)
})

3:局部掛載至當前父組件之內(nèi)

<script>
//組件在誰里面使用 在誰里面注冊 這種注冊方式叫做局部注冊
//局部注冊只能在父組件里使用
import topTitle from "./component/systemtoptitle";
import leftMenu from "./component/systemleftmenu";
import rightContent from "./component/systemrightcontent";
//注冊組件
//注冊完成之后使用組件
export default {
 name: "app",
 components: {
  //注冊
  //常規(guī)寫法鍵值寫法
  "v-toptitle": topTitle,
  "v-leftmenu": leftMenu,
  "v-rightcontent": rightContent
  //簡單寫 topTitle leftMenu rightContent
 },
 data() {
  return {};
 }
};
</script>

4:父組件傳值給子組件

父組件:

<template>
 <div id="toptitle">
  <!--logo子組件是toptitle的子組件-->
  <!--子組件接收值-->
  <v-logo :sysname="name"></v-logo>
 </div>
</template>
<script>
import logo from './child/logo'
export default{
 name:"toptitle ",
 components:{
  'v-logo':logo
 },
 data(){
  return {
   //比如下面的兩個信息是后臺返回的
   name:"學生信息管理",
   logo:"src/assets/logo.png"
  }
 }
}
</script>

子組件:

<template>
 <div id="logoinfo">
  <!--注意此處為:src-->
  <img class="logoimg" :src="logoimg" alt=""/>
  <span class="systemname">{{sysname}}</span>
 </div>
</template>
<script>
export default {
 //子組件調(diào)用父組件的值
 //1 簡單寫法
 //2 約束數(shù)據(jù)類型的寫法 如果數(shù)據(jù)類型不一致 會報警告
 //3 如果父組件沒有傳值 走默認值
 name: "logoinfo",
 //props: ["logo", "sysname"],
 /* props:{
   'logoimg':String,
   'sysname':String
 }, */
 props:{
   'logoimg':{
     type:String,
     default:"src/assets/wanmou.jpg"
   },
   'sysname':String
 },
 data() {
  return {
   //子組件定義props屬性接收父組件傳遞的數(shù)據(jù)
  };
 }
};
</script>

5:子組件調(diào)用父組件的值

子組件:

<template>
 <div id="logoinfo">
  <!--注意此處為:src-->
  <img class="logoimg" :src="logoimg" alt=""/>
  <span class="systemname">{{sysname}}</span>
 </div>
</template>
<script>
export default {
 //子組件調(diào)用父組件的值
 //1 簡單寫法
 //2 約束數(shù)據(jù)類型的寫法 如果數(shù)據(jù)類型不一致 會報警告
 //3 如果父組件沒有傳值 走默認值
 name: "logoinfo",
 //props: ["logo", "sysname"],
 /* props:{
   'logoimg':String,
   'sysname':String
 }, */
 props:{
   logoimg:{
     type:String,
     default:"src/assets/wanmou.jpg"
   },
   sysname:String,
   parentinfo:Object
 },
 mounted() {
  //1 在子組件里獲取整個父組件
  //子組件執(zhí)行父組件的函數(shù)
  //let parent=this.parentinfo;
  //parent.childsend();

  //2 子組件獲取父組件 內(nèi)置方法
  let parentdata=this.$parent;
  console.log(parentdata);
 },
 data() {
  return {
   //子組件定義props屬性接收父組件傳遞的數(shù)據(jù)
  };
 },
 methods: {
  sendmsg(){
   console.log("子組件函數(shù)");
  }
 }
}
</script>

父組件:

<template>
 <div id="toptitle">
  <!--logo子組件是toptitle的子組件  
  //父組件獲取子組件的所有內(nèi)容
  //使用ref獲取虛擬的dom來獲取子組件
  -->
  <!--子組件接收值-->
  <v-logo :parentinfo="this" ref="logolist" :sysname="name"></v-logo>
 </div>
</template>
<script>
import logo from './child/logo'
export default{
 name:"toptitle",
 components:{
  'v-logo':logo
 },
 mounted() {
  //組件掛載完的執(zhí)行函數(shù)
  let logoinfo=this.$refs.logolist;
  //獲取到的是整個子組件 父組件里面執(zhí)行子組件的方法
  logoinfo.sendmsg();
 },
 data(){
  return {
   //比如下面的兩個信息是后臺返回的
   name:"學生信息管理",
   logo:"src/assets/logo.png"
  }
 },
 methods: {
  childsend(){
   console.log("父組件里面的函數(shù)");
  }
 }
}
</script>

補充知識:vue-router中的組件怎么傳遞參數(shù)

第一種方法params

 {
   path: '/user/:userid',
   component: User
  },
<template>
<div>
<h2>{{userid}}</h2> // 
<h3>{{this.$route.params}}</h3>
</div>
</template>
<router-link :to='/user/+userid' tag="button">用戶</router-link>
<router-view></router-view>

export default {
 name: 'App',
 data() {
  return {
   userid: 'lisi'
  }
 }
}

第二種 query

 {
   path: '/profile',
   component: Profile
  }
<template>
<div>
<h2>我是Profile</h2>
<h3>{{this.$route.query}}</h3>
</div>
</template>
<router-link :to="{path: '/profile', query: {
   name: 'hylls',
   age: 20,
   height: 1.77
  }}" tag="button">profile</router-link>
  <router-view></router-view>

以上這篇Vue 組件的掛載與父子組件的傳值實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 詳解vue3+quasar彈窗的幾種方式

    詳解vue3+quasar彈窗的幾種方式

    本文主要介紹了vue3+quasar彈窗的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • vue 計算屬性和偵聽器的使用小結(jié)

    vue 計算屬性和偵聽器的使用小結(jié)

    這篇文章主要介紹了vue 計算屬性和偵聽器的使用小結(jié),幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2021-01-01
  • vue路由劃分模塊并自動引入方式

    vue路由劃分模塊并自動引入方式

    這篇文章主要介紹了vue路由劃分模塊并自動引入方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue中this.$confirm的使用及說明

    vue中this.$confirm的使用及說明

    這篇文章主要介紹了vue中this.$confirm的使用及說明方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Vue3中實現(xiàn)歌詞滾動顯示效果

    Vue3中實現(xiàn)歌詞滾動顯示效果

    本文分享如何在Vue 3中實現(xiàn)一個簡單的歌詞滾動效果,我將從歌詞數(shù)據(jù)的處理開始,一步步介紹布局的搭建和事件的實現(xiàn),感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • Vue中this.$router.push參數(shù)獲取方法

    Vue中this.$router.push參數(shù)獲取方法

    下面小編就為大家分享一篇Vue中this.$router.push參數(shù)獲取方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue定時器清除不掉,導致功能頻繁執(zhí)行問題

    vue定時器清除不掉,導致功能頻繁執(zhí)行問題

    這篇文章主要介紹了vue定時器清除不掉,導致功能頻繁執(zhí)行問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue子組件created方法不執(zhí)行問題及解決

    vue子組件created方法不執(zhí)行問題及解決

    這篇文章主要介紹了vue子組件created方法不執(zhí)行問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 自定義Vue組件打包、發(fā)布到npm及使用教程

    自定義Vue組件打包、發(fā)布到npm及使用教程

    這篇文章主要介紹了自定義Vue組件打包、發(fā)布到npm及使用教程 ,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • vue?模板循環(huán)繪制多行上傳文件功能實現(xiàn)

    vue?模板循環(huán)繪制多行上傳文件功能實現(xiàn)

    這篇文章主要為大家介紹了vue?模板循環(huán)繪制多行上傳文件功能實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07

最新評論