Vue.js vue组件不加载方法?

Vue.js vue组件不加载方法?,vue.js,Vue.js,我尝试使用相同的vue表单组件 “添加”模式和“编辑”模式使同一表单无效两次 逻辑是这样的: 主组件“历史记录”从后端加载数据(Laravel) 如果存在数据,则加载“列表”组件并通过道具传递数据 模式为“编辑” 如果没有数据加载,则表单和模式为“添加” 历史.vue <div v-if = "this.educations.length >0 "> Status: {{ status }} <list :educations=&qu

我尝试使用相同的vue表单组件 “添加”模式和“编辑”模式使同一表单无效两次

逻辑是这样的:

  • 主组件“历史记录”从后端加载数据(Laravel) 如果存在数据,则加载“列表”组件并通过道具传递数据 模式为“编辑”

    如果没有数据加载,则表单和模式为“添加”

历史.vue

<div v-if = "this.educations.length >0 ">
   Status: {{ status }}
   <list :educations="educations" :mode="mode.editvalue"> </list>
</div>
<div v-else>
   <eduform :mode ="mode.addvalue"> </eduform>
</div>
这个代码有什么问题?
谢谢。

尝试从方法调用中删除括号。我相信,当您添加一个方法作为事件处理程序时,这是正确的处理方法


这里的解释更好:

我个人的观点是:尽可能避免模板中的十位运算符。与其有条件地将方法绑定到
submit
事件,不如简单地将泛型方法绑定到submit事件。在泛型方法本身中,您将执行调用相应回调所需的任何检查。这使模板更具可读性,并将复杂的逻辑抽象到VueJS组件的JS部分

例如:

<form @submit.prevent="onFormSubmit">

你是说你在同一个父组件中使用了两次相同的组件?如果是这样,请尝试向组件添加名称。
mode.addvalue
不等于
add
mode.editvalue
不等于
edit
问题在我的表单中,它完全杀死了我的方法-这是什么意思?这是不是没有被执行?正如贴出的,一切都应该是有效的,所以问题一定在其他地方。(Working fiddle:)这里应该没有区别,因为函数不需要参数。
<form @submit.prevent="onFormSubmit">
onFormSubmit() {
  if (this.mode === 'add')
    this.createEdu();
  else
    this.updateEdu();
}