富贵资源网 Design By www.hznty.com
本文实例为大家分享了vue监听用户输入和点击的具体代码,供大家参考,具体内容如下
功能1:监听用户输入和点击,并实时显示,
功能2:点击发布,编辑页面隐藏,显示发布成功。
功能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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。