AddBlog.vue

<template>

  <div id="add-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="blog.categories">

          <label>Node</label>

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

          <label>React</label>

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

          <label>Angular</label>

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

        </div>

        <label>作者:</label>

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

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

            {{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 blog.categories" :key="category">

              {{category}}

            </li>

          </ul>

        </p>

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

      </div>

  </div>

</template>

<script>

export default {

  name: 'add-blog',

  data () {

    return {

      blog:{

        title:"",

        content:"",

        categories:[],

        author:""

      },

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

      submmited:false

    }

  },

  methods:{

    post:function(){

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

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

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

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

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

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

        console.log(res);

        this.submmited = true;

      }).catch(err => {

        console.log(err);

      });

    }

  }

}

</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>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,626评论 1 45
  • 不会用代码框,所以看着有些乱套,,,,html部分 <!DOCTYPE html> 迅雷看看 ...
    这就是个帅气的名字阅读 1,560评论 0 0
  • <template> 编辑博客 博客标题 博客内容 ...
    wangdadou阅读 307评论 0 3
  • 我的公共CSS文件@import "normalize.css";/begin主页面//begin主页面/body...
    蓝色海洋_1982阅读 1,193评论 0 0
  • 大妹说我们村里的王志明在工地上干活的时候被电打死了。听到这个消息的时候心里猛地抽了一下,一种莫名地忧伤像一块久久不...
    薛亚军_xywm123阅读 402评论 0 0