Javascript 我可以从子组件到父组件获取计算数据吗?

Javascript 我可以从子组件到父组件获取计算数据吗?,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,有没有办法从子组件到父组件获取计算数据?因为我首先将数据从父级发送到子级,然后我想在父级组件中使用comuted属性(数据)。我想这样做是因为我也想在其他组件中重用那个重要的组件(子组件) 我有一个搜索输入字段,用于过滤我的项目,当我写下一些东西时,我想从子组件返回该列表 父组件 <input class="form-control form-control-search m-input" autocomplete="off" type="text" v-on:input='testFun

有没有办法从子组件到父组件获取计算数据?因为我首先将数据从父级发送到子级,然后我想在父级组件中使用comuted属性(数据)。我想这样做是因为我也想在其他组件中重用那个重要的组件(子组件)

我有一个搜索输入字段,用于过滤我的项目,当我写下一些东西时,我想从子组件返回该列表

父组件

<input class="form-control form-control-search m-input" autocomplete="off" type="text" v-on:input='testFunc()' v-model="search" placeholder="Search...">
<paginate-links v-if="items.length > 0" :models="items">
  <div class="m-list-timeline__item no-timeline" v-for="item in filterItems" v-bind:key="item.id">
    {{ item.title }}
  </div>
</paginate-links>
props: ['item']
computed: {
    filterItems () {
      return filter // here goes my code
    }
}

因此,我可以在父组件中获取
过滤器项吗?

有几种方法可以将数据发送回父组件,但我想说的最简单的方法可能是在计算组件中使用发射

儿童:

computed:{
  myVal() {
    let temp = this.num + 1;
    this.$emit('onNumChange', temp);
    return temp;
  }
}
在父模板中:

<my-child-component @onNumChange="changeHandler"/>
您可以使用
监视
执行类似的操作,也可以从父级传递函数作为通知父级的道具,但我建议使用vuex


您能否澄清
已消耗的属性(数据)
?他们不一样。computed属性是一个反应式缓存值,您可以使用钩子,在数据中,您可以使用
watch
添加钩子,我的意思是刚刚计算的属性。因为我从中得到了回报,对吗?这就是我写数据的原因。你写的那个示例我需要在父组件或子组件中设置它?另外,正如在评论中提到的,重复的问题指出了一个答案,我给出了一个工作示例。非常感谢。:)
methods: {
  changeHandler(value) {
    console.log('Value changed to: ', value);
  }
}