vue监听用户输入和点击功能


Posted in Javascript onSeptember 27, 2019

本文实例为大家分享了vue监听用户输入和点击的具体代码,供大家参考,具体内容如下

功能1:监听用户输入和点击,并实时显示,

功能2:点击发布,编辑页面隐藏,显示发布成功。

vue监听用户输入和点击功能

功能1 html代码:

使用:v-model监听,!submmited视图默认显示,注意监听option v-for="(i,index) in authors"   v-bind:value="authors[index],

监听当下用户点击的那个;

<div id="add-blog">
  <h2>添加博客</h2>
  <form v-if="!submmited">
  <label for="" class="">博客标题</label>
  <input class="" type="text" v-model="blog.title" required/>
  <br/>
  <label for="" class="">博客内容</label>
  <textarea class="" v-model="blog.content"></textarea>
  <div id="checkboxs">
   <label for="">Vue.js</label>
   <input type="checkbox" value="vue.js" v-model="blog.categories"/>
   <label for="">react.js</label>
   <input type="checkbox" value="react.js" v-model="blog.categories"/>
   <label for="">javasript</label>
   <input type="checkbox" value="javasript.js" v-model="blog.categories"/>
   <label for="">css</label>
   <input type="checkbox" value="css" v-model="blog.categories"/>
  </div>
  <label for="">作者:</label>
  <select v-model="blog.author">
   <option v-for="(i,index) in authors" v-bind:value="authors[index]">
   {{i}}
   </option>
  </select>
  <button v-on:click.prevent="post">添加博客</button>
  </form>
  <hr/>
  <div id="preview">
  <h3>博客总览</h3>
  <p>博客标题:</p>
  <p class="color">{{blog.title}}</p>
  <p>博客内容:</p>
  <p class="color">{{blog.content}}</p>
  <p>博客分类</p>
  <ul>
   <li v-for="categories in blog.categories" class="color">
   {{categories}}
   </li>
  </ul>
  <p>作者:</p>
  <p class="color">{{blog.author}}</p>
  </div>
 </div>

 功能1 js代码:

data(){
   return{
   blog:{
    title:"",
    content:"",
    categories:[],
    author:""
   },
   authors:[
    "张三","李四","王五"
   ],
   submmited:false
   }
  },
 methods:{
   post:function () {
   this.$http.post("https://jsonplaceholder.typicode.com/posts/"{
    title:this.blog.title,
    body:this.blog.content,
})
   .then(function (data) {
    //console.log(data);
   })
   }
  }

功能2 html代码:

<div v-if="submmited">
  <h3>您的博客发布成功</h3>
 </div>

功能2 js代码

this.submmited=true 让 “您的博客发布成功” 显示

methods:{
   post:function () {
   this.$http.post("https://jsonplaceholder.typicode.com/posts/"{
    title:this.blog.title,
    body:this.blog.content,
})
   .then(function (data) {
    //console.log(data);
    this.submmited=true
   })
   }
  }

addblog.vue所有代码:

<template>
 <div id="add-blog">
  <h2>添加博客</h2>
  <form v-if="!submmited">
  <label for="" class="">博客标题</label>
  <input class="" type="text" v-model="blog.title" required/>
  <br/>
  <label for="" class="">博客内容</label>
  <textarea class="" v-model="blog.content"></textarea>
  <div id="checkboxs">
   <label for="">Vue.js</label>
   <input type="checkbox" value="vue.js" v-model="blog.categories"/>
   <label for="">react.js</label>
   <input type="checkbox" value="react.js" v-model="blog.categories"/>
   <label for="">javasript</label>
   <input type="checkbox" value="javasript.js" v-model="blog.categories"/>
   <label for="">css</label>
   <input type="checkbox" value="css" v-model="blog.categories"/>
  </div>
  <label for="">作者:</label>
  <select v-model="blog.author">
   <option v-for="(i,index) in authors" v-bind:value="authors[index]">
   {{i}}
   </option>
  </select>
  <button v-on:click.prevent="post">添加博客</button>
  </form>
  <div v-if="submmited">
  <h3>您的博客发布成功</h3>
  </div>
  <hr/>
  <div id="preview">
  <h3>博客总览</h3>
  <p>博客标题:</p>
  <p class="color">{{blog.title}}</p>
  <p>博客内容:</p>
  <p class="color">{{blog.content}}</p>
  <p>博客分类</p>
  <ul>
   <li v-for="categories in blog.categories" class="color">
   {{categories}}
   </li>
  </ul>
  <p>作者:</p>
  <p class="color">{{blog.author}}</p>
  </div>
 </div>
</template>
 
<script>
 export default {
  name: "addblog",
  data(){
   return{
   blog:{
    title:"",
    content:"",
    categories:[],
    author:""
   },
   authors:[
    "张三","李四","王五"
   ],
   submmited:false
   }
  },
  methods:{
   post:function () {
   this.$http.post("https://jsonplaceholder.typicode.com/posts/",this.blog)
   .then(function (data) {
    console.log(data);
    this.submmited=true
   })
   }
  }
 }
</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;
 }
 textarea{
 height: 200px;
 }
 #checkboxs label{
 display: inline-block;
 margin-top: 0;
 }
 #checkboxs input{
 display: inline-block;
 margin-right: 10px;
 }
 button{
 display: block;
 margin:20px 0;
 background: crimson;
 border:0;
 padding:14px;
 border-radius: 4px;
 font-size: 18px;
 cursor: pointer;
 color: white;
 }
 #preview{
 padding:10px 20px;
 border: 1px dotted #ccc;
 margin:30px 0;
 }
 .color{
 color: blue;
 }
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
仅用[]()+!等符号就足以实现几乎任意Javascript代码
Mar 01 Javascript
网页右侧悬浮滚动在线qq客服代码示例
Apr 28 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
Aug 10 Javascript
详解js中class的多种函数封装方法
Jan 03 Javascript
jQuery ajax时间差导致的变量赋值问题分析
Jan 22 Javascript
js表单元素checked、radio被选中的几种方法(详解)
Aug 22 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
Nov 29 Javascript
JavaScript输出所选择起始与结束日期的方法
Jul 12 Javascript
JavaScript callback回调函数用法实例分析
May 08 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
Oct 25 Javascript
JS中的变量作用域(console版)
Jul 18 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
Nov 19 Vue.js
vue实现文字加密功能
Sep 27 #Javascript
微信小程序 动态修改页面数据及参数传递过程详解
Sep 27 #Javascript
vue实现购物车小案例
Sep 27 #Javascript
解决layui中onchange失效以及form动态渲染失效的问题
Sep 27 #Javascript
layui 地区三级联动 form select 渲染的实例
Sep 27 #Javascript
vue实现移动端省市区选择
Sep 27 #Javascript
vue实现表单录入小案例
Sep 27 #Javascript
You might like
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
php二维数组合并及去重复的方法
2015/03/04 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
PHP语法小结之基础和变量
2015/11/22 PHP
详解使用php调用微信接口上传永久素材
2017/04/11 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
Js四则运算函数代码
2012/07/21 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
JS中递归函数
2016/06/17 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
深入koa-bodyparser原理解析
2019/01/16 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
Js数组扁平化实现方法代码总汇
2020/11/11 Javascript
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
python中如何进行连乘计算
2020/05/28 Python
Django之腾讯云短信的实现
2020/06/12 Python
Python如何使用input函数获取输入
2020/08/06 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
2020/11/09 Python
浅谈html5 响应式布局
2014/12/24 HTML / CSS
商务日语专业毕业生求职信
2013/10/26 职场文书
项目投资意向书
2014/04/01 职场文书
幼儿园老师寄语
2014/04/03 职场文书
设计师求职信模板
2014/05/06 职场文书
小组名称和口号
2014/06/09 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
Mysql实现主从配置和多主多从配置
2021/06/02 MySQL
优化Mysql查询的示例
2022/04/26 MySQL