Как установить оператор if else в скрипте - PullRequest
0 голосов
/ 09 июля 2019

-Я бы не хотел так: , если (! EditMode) show create page else show update page, потому что я создаю и редактирую, используя одну и ту же форму, поэтому я комбинирую ее.

-Я изучаю онлайн-учебник, но учебное шоу создают и редактируют отдельно.

-Пожалуйста, помогите и поблагодарите /.\

<template>

  <div v-if="!edit">
    <h1>Create Post</h1>
    <form @submit.prevent="addPost">
      <div class="row">
        <div class="col-md-6">
          <div class="form-group">
            <label>Post Title:</label>
            <input type="text" class="form-control" v-model="post.title">
          </div>
        </div>
        </div>
        <div class="row">
          <div class="col-md-6">
            <div class="form-group">
              <label>Post Body:</label>
              <textarea class="form-control" v-model="post.body" rows="5"></textarea>
            </div>
          </div>
        </div><br />
        <div class="form-group">
          <button class="btn btn-primary">Create</button>
        </div>
    </form>
  </div>
  <div v-else>
    <h1>Update Post</h1>
    <form @submit.prevent="updatePost">
      <div class="row">
        <div class="col-md-6">
          <div class="form-group">
            <label>Post Title:</label>
            <input type="text" class="form-control" v-model="post.title">
          </div>
        </div>
      </div>
      <div class="row">
        <div class="col-md-6">
          <div class="form-group">
            <label>Post Body:</label>
            <textarea class="form-control" v-model="post.body" rows="5"></textarea>
          </div>
        </div>
      </div><br />
      <div class="form-group">
        <button class="btn btn-primary">Update</button>
      </div>
    </form>
  </div>
</template>

<script>
export default {
  data(){
    return {
      edit:false,
      post:{}
    }
  },
},
//this is for create
methods: {
  addPost(){
    let uri = 'http://localhost:8000/post/create';
    this.axios.post(uri, this.post).then((response) => {
      this.$router.push({name: 'posts'});
    });
  },
},
//this is for get data before update
created() {
  let uri = `http://localhost:8000/post/edit/${this.$route.params.id}`;
  this.axios.get(uri).then((response) => {
    this.post = response.data;
  });
},
//this is for update post
updatePost() {
  let uri = `http://localhost:8000/post/update/${this.$route.params.id}`;
  this.axios.post(uri, this.post).then((response) => {
    this.$router.push({name: 'posts'});
  });
}
</script>


**I also set this in my app.js**  
{
      name: 'create',
      path: '/create',
      component: PostForm,
      props: {editMode: false}
  },
  {
      name: 'edit',
      path: '/edit/:id',
      component: PostForm,
      props: {editMode: true}
  }

Моя ошибка ---> когда я нажимаю edit btn show create page и используя функцию addPost.

Результат -> как использовать если еще, чтобы решить эту проблему .... Извините, я новичок в программировании.

1 Ответ

2 голосов
/ 09 июля 2019

Полагаю, вы можете просто попросить js добавить или обновить.

<template>
  <div>
    <h1 v-if="!edit">Create Post</h1>
    <h1 v-else>Update Post</h1>
    <form @submit.prevent="postSomething">
        <div class="row">
          <div class="col-md-6">
            <div class="form-group">
              <label>Post Title:</label>
              <input type="text" class="form-control" v-model="post.title">
            </div>
          </div>
        </div>
        <div class="row">
          <div class="col-md-6">
            <div class="form-group">
              <label>Post Body:</label>
              <textarea class="form-control" v-model="post.body" rows="5"></textarea>
            </div>
          </div>
        </div><br />
        <div class="form-group">
          <button v-if="!edit" class="btn btn-primary">Create</button>
          <button v-else class="btn btn-primary">Update</button>
        </div>
        </form>
    </div>

</template>

и JS:

methods: {
    postSomething(){
      if(!this.edit){
        this.addPost()
      }else{
        this.updatePost()
      }
    },
    addPost(){
      console.log('should add')
    },
    updatePost(){
      console.log('should update')
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...