1. 程式人生 > >vue父子元件之間傳值及函式中獲取props中的值

vue父子元件之間傳值及函式中獲取props中的值

實現vue的元件化,是很好,但是元件之間傳值也好,本來對vue的理解可能也較淺吧

一、父元件向子元件傳值

peopleName為要傳遞的值;

父元件:

 <li v-bind:peopledetail="peopleName" keep-alive></li>

子元件:

export default {
  name:"baseAchievement",
  props:['peopledetail'],

}

<div>{{peopledetail}}</div>

這樣是能顯示出來(顯示的方式)

但是 要想在methods的方法中拿到this.peopledetail,根本拿不到,拿到的方法

法一、監聽(資料變化時)

this.$watch('this.$watch('peopledetail', function(newVal, oldVal){
       self.peopleName = newVal;能拿到             
    });

但是我遇到了點選後peopleName變化,切換Tab頁peopleName並沒有變化,導致根本就不執行監聽函式,更拿不到peopledetail的值了

法二、把peopleName 監聽後放在快取裡,從快取中獲取(解決了但感覺不是最好方法)

this.$watch('peopledetail', function(newVal, oldVal){
  localStorage.setItem("value", newVal);
  barQuest();
});
function barQuest(){

console.log(localStorage.getItem("value"));

}

 barQuest();

二、子元件向父元件傳值

子元件

this.$emit('contrast-say',{傳遞的值});物件或者是單個值

父元件

 <li v-on:contrast-say="listenTocontrast" ></li>

methods: {
    listenTocontrast: function (data){
        console.log(data)
    }
 }

相關推薦

vue父子元件之間函式獲取props

實現vue的元件化,是很好,但是元件之間傳值也好,本來對vue的理解可能也較淺吧 一、父元件向子元件傳值 peopleName為要傳遞的值; 父元件:  <li v-bind:peopledetail="peopleName" keep-alive></l

**Vue父子元件之間:*

初學者總結。Vue父子元件之間傳值: 1.父元件到子元件的傳值: a,父元件引入元件並註冊完成: import PersonnelUpdate from “./PersonnelUpdate”; export default { components: { PersonnelUpdate }

vue父子元件之間以及方法呼叫

父元件向子元件傳值注:這種方式只能由父向子傳遞,子元件不能更新父元件內的data先定義一個子元件,在元件中註冊props<template> <div>

vue父子元件之間

記錄第一次做專案遇到的坑,可能說的有所欠缺,但是功能是實現的。 為了實現頭部的搜尋框,搜尋table表格中的資料,因為是兩個頁面,所以需要元件傳值。 首先,main.js中建立事件中心eventHub new Vue({ el: '#app',

vue+antdesign模態框實現父子元件之間

vue中實現父子元件間單向資料流傳遞比較方便,子元件通過prop接收父元件傳遞過來的值,父元件通過監聽子元件emit出的函式接收子

vue父子元件通訊

父元件 -> 子元件 通過props來進行通訊 父元件程式碼: &lt;Children :dataName = "dataContent" /&gt; //dataName: 傳過去資料的名字 //dataContent: 傳過去的資料 子元件程式碼: &lt;

angular2父子元件之間

元件結構如下: main.html <div class="row"> <div class="col-sm-2 col-md-2 catalog"> <app-catalog [input]="catalogmsg" (event)="getData(

vue元件之間方法

父元件 <template> <div> 這是父元件 <children v-bind:parentToChild="toChild" v-on:showChildMsg="formChild"></children> <

React 父子元件之間

expandedRowRender={record => <p style={{ margin: 0 }}><lable style={{ margin: 0 }}>{"合作時間: " + record.CooperationSta

vue使用父子元件之間參的方法

1.父元件傳參到子元件中 父元件中的用法: 1引入元件 import selfAbility from './children/selfAbility'; 2.在元件中申明: components

vue父子元件之間通訊例項

一、父元件向子元件傳遞資料 ①獲取資料並在父元件上繫結資料 ②在子元件使用props接收父元件傳遞過來資料 ③將接收的資料繫結到子元件模板   二、子元件向父元件傳遞資料 ①在子元件上定義一個事件 如 @click='handleItemClick'

vue父子元件之間的通訊

一、父元件傳值給子元件 1.子元件,首先定義一個子元件,然後在子元件中註冊props,然後建立一個名為infos的屬性,用來接收從父元件傳過來的資料 <template> <div> <div>{{infos}}</d

Vue---父子元件之間的通訊

  在vue元件通訊中其中最常見通訊方式就是父子元件之中的通訊,而父子元件的設定方式在不同情況下又各有不同。最常見的就是父元件為控制組件子元件為檢視元件。父元件傳遞資料給子元件使用,遇到業務邏輯操作時子元件觸發父元件的自定義事件。無論哪種組織方式父子元件的通訊方式都是大同小異。 一、父元件到子元件通訊  

vue父子元件之間的資料傳遞

父元件傳值 在vue中,子元件中預設無法訪問到父元件中data的資料和methods中的方法。 通過屬性繫結(v-bind)的形式 可以把父元件的資料傳遞給子元件 <div id='app'> <!-- com1:子元件-->

react 父子元件之間的通訊和函式呼叫

reactjs是一枚新進小鮮肉,跟gulp搭配流行一段時間了。工作或者面試中經常遇到這樣的問題,“子元件如何向父元件傳值?”。其實很簡單,概括起來就是:react中state改變了,元件才會update。父寫好state和處理該state的函式,同時將函式名通過props屬性值的形式傳入子,子呼叫父的函式

Vue父子元件之間的呼叫和資料傳遞

Vue父子元件之間的呼叫和資料傳遞 父子元件的定義 兩個檔案的父子元件 父子元件的定義 vue的官網上寫了一些關於父子元件的定義呼叫及值的傳遞。這裡我就不做過多的贅述了。我只說一下我在開發中遇到的一些小問題。 兩個

總結vue父子元件之間的通訊

一 環境搭建 步驟 1 開啟git,執行npm  install --global vue-cli 這是安裝vue的命令列         2 vue init webpack vue-demo 這是vue基於webpack的模組專案         3 cd vue-de

Vue 父子元件同級元件之間

1.父元件  father.vue <template> <div id="father"> <h2>父元件</h2> <p>數值:{{m}}</p> <so

vue父子元件之間

1. 父元件向子元件傳值 vue元件中的傳值是:單向流的,即父元件向子元件傳值,同時子元件不可改變父元件傳來的值,因為父元件的值不僅僅被一個子元件使用,子元件隨意修改父元件的值,會影響到其他子元件的資料。 但是子元件可以clone該值,然後就可以隨意改動使用 <div id

Vue學習(六)——父子元件之間

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>子元件和父元件通訊(釋出訂閱模式)</title> <script sr