EditBlog.vue

<template>

  <div id="edit-blog">

      <h2>编辑博客</h2>

      <form v-if="!submmited" >

        <label>博客标题</label>

        <input type="text" v-model="blog.title"/>

        <label>博客内容</label>

        <textarea v-model="blog.content"></textarea>

        <div id="checkboxes">

          <label>Vue</label>

          <input type="checkbox" value="Vue" v-model="categories">

          <label>Node</label>

          <input type="checkbox" value="Node" v-model="categories">

          <label>React</label>

          <input type="checkbox" value="React" v-model="categories">

          <label>Angular</label>

          <input type="checkbox" value="Angular" v-model="categories">

        </div>

        <label>作者:</label>

        <select v-model="blog.author">

          <option v-for="author in authors">

            {{author}}

          </option>

        </select>

        <button v-on:click.prevent="post">编辑博客</button>

      </form>


      <div v-if="submmited">

        <h3>您的博客发送成功</h3>

      </div>

      <div id="preview">

        <h3>博客总览</h3>

        <p>博客标题:{{blog.title}}</p>

        <p>博客内容:</p>

        <p>{{blog.content}}</p>

        <p>

          <ul>

            <li v-for="category in this.categories" :key="category">

              {{category}}

            </li>

          </ul>

        </p>

        <p>作者:{{blog.author}}</p>

      </div>

  </div>

</template>

<script>

export default {

  name: 'edit-blog',

  data () {

    return {

      id: this.$route.params.id,

      blog:{},

      authors:["Hemiah","Henry","Bucky"],

      categories:["Vue","Node","React","Angular"],

      submmited:false

    }

  },

  methods:{

    post:function(){

      const query = Bmob.Query('blog');

      query.set('id', this.id);

      query.set('title',this.blog.title);

      query.set("content",this.blog.content);

      query.set("categories",this.categories.join(","));

      query.set("author",this.blog.author);

      query.save().then(res => {

          this.submmited = true;

      }).catch(err => {

          console.log(err)

      })

    },

    fetchData(){

    const query = Bmob.Query('blog');

      query.get(this.id).then(res => {

        this.blog = res;

        this.categories = this.blog.categories.split(",");

      }).catch(err => {

        console.log(err)

      })

    }

  },

  created(){

  this.fetchData();

  }

}

</script>

<style scoped>

#add-blog *{

  box-sizing: border-box;

}

#add-blog{

  margin: 20px auto;

  max-width:600px;

  padding:20px;

}

label{

  display:block;

  margin: 20px 0 10px;

}

input[type="text"],textarea,select{

  display:block;

  width:100%;

  padding:8px;

}

#checkboxes label{

  display: inline-block;

  margin-top: 0;

}

#checkboxes input{

  display: inline-block;

  margin-right:10px;

}

button{

  display:block;

  margin:20px 0;

  background:crimson;

  color:#fff;

  border:0 ;

  padding:14px;

  border-radius:4px;

  font-size:18px;

  cursor:pointer;

}

#preview{

  padding: 10px 20px;

  border:1px dotted #ccc;

  margin:30px 0;

}

#h3{

  margin-top:10px;

}

textarea{

  height:200px;

}

</style>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容