1. 程式人生 > >vue2.0子元件呼叫父元件的資料

vue2.0子元件呼叫父元件的資料

例項:child.vue檔案,呼叫parent.vue的資料

parent.vue如下:

<template>  
  <div>  
    <div class="parent">  
      <p>父元件</p>  
      <p v-text="userInfo.userName"></p>  
      <router-link to='/parent/child'></router-link>
      <router-view :message="userInfo"
>
</router-view> //這裡傳引數userInfo給子元件,子元件用message呼叫 </div> </div> </template> <script> export default { data () { return { userInfo: { userName: '阿水12344', age: 12 } } } } </script
>

child.vue如下:

<template>  
  <div class="child">  
    <p>子元件</p>  
    <p v-text="message.age"></p>  
  </div>  
</template>  

<script>  
  export default {  
     props: ['message']  // 子元件獲取父元件的資料
  }  
</script>  

重點:

父元件:
 1. <router-view
:message="userInfo">
</router-view> 子元件: 1. <p v-text="message.userName"></p> 2. props: ['message']

補充:

 1. 當message改名為user-info(帶“-”的形式)時,子元件呼叫“userInfo“駝峰法 

 <router-view :user-info="userInfo"></router-view> 
 <p v-text="userInfo.userName"></p>     
 props: ['userInfo']

 2. 子元件獲取時可設定型別,如:設定為布林型

 props: {
    active: {
        type: Boolean
    }
 }

元件間資料通訊:使用自定義函式

<template>
    <div v-show=‘active‘>看得見</div>
    <outdiv @navActive="handleNavActive"></outdiv> // 自定義navActive,在outdiv元件中呼叫
</template>

<script>
    export default {
        data () {
            return active
        },
        methods: {
            handleNavActive (status) { // 自定義函式,回撥函式,獲得otrdiv返回值
                if (status) {this.active = ture}
                else {this.active = false}
            }
        }
    }
</script>

outdiv元件的定義:

<template>
    <button @click="handleNavFlod"></button>
</template>

<script>
    export default {
        data () {
            return {
                value
            }
        },
        methods: {
            handleNavFlod () {
                this.value = !this.value
                if (this.value) {this.$emit('navActive',true)}
                else {this.$emit('navActive',false)}  // 呼叫自定義函式
            }
        }
    }
</script>

相關推薦

vue2.0元件呼叫元件資料

例項:child.vue檔案,呼叫parent.vue的資料 parent.vue如下: <template> <div> <div c

Vue2.0問題總結—在元件中無法渲染元件的問題

最近剛入門Vue2.0,準備跟著文件寫demo,由於自己的粗心導致出現的一些問題,在這裡總結下。 先貼下我的VSCode中Vue快速新增的通用程式碼模板: "Print to console": { "prefix": "vue",

vue2 元件呼叫元件中的方法

父元件: <!--編輯會員--> <editUser ref="editUser" v-on:childMethod="parentMethod"></editUse

vue2 元件呼叫元件中data中的值

父元件: export default { data() { return { aaa:'777'

小程式學習之旅----slot 元件呼叫元件的方法、元件呼叫元件的方法

slot子元件 <!--pages/user/user.wxml--> <header title='{{title}}'></header> {{title}} <footer> <button>我是footer子元件裡的按鈕&l

Vue 元件呼叫元件的方法

第一步: 父元件在子元件上註冊方法 <customer-Avatar ref="customerAvatar" @customerchangeflag='customerchangeflag'></customer-Avatar> 第二步 : 子元件裡設定何時呼叫

Vuejs $emit 元件呼叫元件方法/函式

Vuejs $emit 子元件呼叫父元件方法/函式 直接搬官方文件: vm.$emit( event, […args] ) 引數: {string} event [...args] 觸發當前例項上的事件。附加引數都會傳給監聽器回撥。

vue 元件呼叫元件的方法,元件呼叫元件方法

首先看程式碼: 1、父元件: <template> <div> <div v-if="!userShow"> 父元件內容區 <el-button @click="lookUserInfo(scope.row)">&nb

vue 元件呼叫元件方法和元件呼叫元件方法

子元件: methods:{ //一開始載入基礎資訊資料 _basicInfo(){ let self = this; self.titleExplain=[];

元件呼叫元件方法,元件呼叫元件方法

  如何在vue中直接拿到父元件資料和呼叫父元件的方法呢? vue有$parent這麼一個屬性,在元件中this.$parent.xxx就能拿到父元件的資料,this.$parent.xxx()就能呼叫發放 下面是關於父元件呼叫子元件的方法 在頁面中子元件展示例如: components:{

Vue入門-元件傳值與元件呼叫元件中的方法

Vuex是什麼?一般用於中大型專案,管理元件中的傳值方式,相當於angular中的全域性服務,裡面有store宣告的屬性可以共享,每個元件都可以繫結。想要改變值,可以向store提交一個突變,方法便會執行一次。父向子傳值1、child子元件對desc屬性繫結的是sString

vue元件呼叫元件方法

本文簡單介紹在vue中子元件如何呼叫父元件的方法,分佈進行 1.第一步在子元件中首先要引入父元件的vue檔案:import <name>  from './././'(按照地址引入所需要的檔案) 2.第二步 在component{                

vue 元件呼叫元件方法

父元件vue <privateScoreTop :msg ="Widget" v-on:listenTochildEvent="showMessageFromChild"> </p

vue之元件呼叫元件的方法

遇到一個需求: 如圖,表格是父元件,元件載入的時候,呼叫getAddress()從後臺獲取資料 點選編輯按鈕彈出一個框 彈出框是子元件,用來編輯表格裡面的資訊,遇到了一個問題,彈框儲存

Vue中子元件呼叫元件的方法

Vue中子元件呼叫父元件的方法 相關Html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title>

react ES6下子元件呼叫元件方法

---2018-5-30想不到這一篇文章居然有這麼多的閱讀量,既然如此我就來更正優化一下程式碼,也算是修一下之前的坑吧~---    出於某些目的,最近又開始研究起了RN,看著教程一步步的學習,在最近卻是碰到了一個問題,那就是父子元件的方法呼叫的問題。    這個問題我百度了

元件呼叫元件元件資料更新傳到元件後,元件頁面未更新的問題

問題描述:父元件呼叫了一個子元件,傳遞了一個id的屬性到子元件,但是在子元件中將這個id的props屬性賦值給了data裡面定義的另外一個屬性myId,並且寫了watch監聽這個id的props。 結果:第一次的時候子元件並沒有更新介面(即data裡面的myId屬性沒有更新);第二次及以後就

Vue2.0同級元件之間資料互動

熟悉了Vue.js的同級元件之間通訊,寫此文章,以便記錄。 Vue是一個輕量級的漸進式框架,對於它的一些特性和優點,請在官網上進行檢視,不再贅述。 使用NPM及相關命令列工具初始化的Vue工程,目錄結構如下 接著我們進入Demo,首先我們可以刪除掉模板專案中s

Vue2.0中子元件元件傳遞資料的方法,以完整demo演示

子元件child.vue原始碼:<template> <div class="child"> <button @click="sendData">點擊向父元件傳資料</button> </div> &

vue2.0 元件元件之間的傳值(轉載)

Vue是一個輕量級的漸進式框架,對於它的一些特性和優點在此就不做贅述,本篇文章主要來探討一下Vue子父元件通訊的問題 首先我們先搭好開發環境,我們首先得裝好git和npm這兩個工具(如果有不清楚的同學請自行百度哦) 環境搭建步驟: 開啟git ,執行 npm install --global vue-cl