我可以在v模型中使用条件运算吗?

时间:2018-10-07 10:36:02

标签: vue.js vuejs2 vue-component

我想要实现的是一个有条件地处理新输入或旧输入(编辑)的组件。受question的启发,我已经尝试过:

<input type="text" placeholder="New Event" v-model="event.title ? event.title : title" required/>

甚至

<input type="text" placeholder="New Event" v-model="event.title || title" required/>

但是两者都不起作用。我在控制台中遇到错误。

event.title来自道具event;

title是数据对象中的属性,其值为''

在Vue 2中,我需要构建2个单独的组件吗?一个用于新输入,另一个用于编辑?

2 个答案:

答案 0 :(得分:4)

您可以尝试一下,它对我有用:

  <td>
    <div v-if="event">
      <input v-model="event.title">
    </div>
    <div v-else><input v-model="title"></div>
  </td>

答案 1 :(得分:0)

我认为您可以为此使用computed,如下所示:

<input type="text" placeholder="New Event" v-model="nameOfMethod" required/>

并在computed方法内使用您的逻辑创建nameOfMethod

computed:{
    nameOfMethod(){
        if (this.event.title  === "")
            return this.title;
        else
            return this.event.title;
    },

}