鍍金池/ 問答/HTML/ 為啥 vuejs 沒有推薦使用父組件向子組件傳遞method作為props完成父

為啥 vuejs 沒有推薦使用父組件向子組件傳遞method作為props完成父子組件的通信呢

看了很多博客及官方文檔,子組件想改變父組件的狀態(tài),實(shí)現(xiàn)方式大多通過事件的傳遞。
本人是 react 轉(zhuǎn)過來的,想知道m(xù)ethod作為 props 傳遞給子組件完成狀態(tài)更改是否是正常的模式。

//FuncProps.vue
<template>
  <div>
    <h1>Child</h1>
    <button @click="handleClick">click</button>
  </div>
</template>
<script>
export default {
  props: ['click'],
  methods: {
    handleClick() {
      this.click();
    },
  },
};
</script>
<template>
  <div id="app">
    <func-props :click="handleChildClick"></func-props>
    {{message}}
  </div>
</template>

<script>
//App.vue
import FuncProps from './components/FuncProps';

export default {
  name: 'app',
  components: {
    FuncProps,
  },
  data() {
    return {
      message: 'hello world',
    };
  },
  methods: {
    handleChildClick() {
      this.message = 'child click';
    },
  },
};
</script>
回答
編輯回答
嘟尛嘴

Element-ui中有一些傳遞method為prop的方式

采用 props 和 event 這兩種方式便于更好地理解組件的行為

2017年6月29日 08:23
編輯回答
孤影

只要是js變量能存的 都可以傳遞。

最簡單的你傳遞一個對象給子組件,然后子組件就能直接修改了,同樣會映射到所有引用這個對象的組件內(nèi)

2017年6月28日 20:25
編輯回答
莓森

沒有這么玩過,我覺得你可能需要注意一下this指向的問題。

這么寫程序可以正常工作嗎?

2018年4月30日 14:46