Vue.js-从孩子到父母的发射事件

时间:2018-09-18 07:56:28

标签: javascript vue.js vuejs2

我无法$emit从子组件到父组件的事件。 我可以成功发送事件,但不能在父级收到事件。

Results.vue孩子):

<a href="#" v-on:click="sendResultValues"></a>

// 

methods: {
    sendResultValues: function () {
        this.$emit('send-result-values', 'carrier');
    }
},

当我单击<a>时,通过Vue DevTools可以看到触发了$emit事件:

enter image description here 但是,console.log中没有任何内容作为我的下面的代码(父代码):

Input.vue父母):

<search-results></search-results> //Results.vue component
<search-popover v-on:send-result-values="showResultData"></search-popover>
 //
methods: {
    showResultData: function () {
        console.log("Data received from child: ")
    }
 },

2 个答案:

答案 0 :(得分:1)

您需要在select * { { select (count(?storage) AS ?count_storage) { ?storage a cocoon:Storage . } } { select (count(?VM) AS ?count_VM) { ?VM a cocoon:VM . } } } 组件上监听事件,而不是在search-results上监听事件。

Input.vue(父级):

search-popover

答案 1 :(得分:0)

有更多方法可以解决此问题。

  1. 您可以使用vuex.js
  2. 您可以使用$ emit和$ on方法

例如

df['new'] = pd.Timestamp.today().floor('D') - pd.to_timedelta(df['age']).dt.floor('D')
print (df)
   id      age        new
0   1   1 hour 2018-09-18
1   2  2 hours 2018-09-18
2   3   2 days 2018-09-16
3   4   4 days 2018-09-14

print (df['new'].dtypes)
datetime64[ns]