Vue-小demo、小效果 合集(更新中...)

简介: (腾讯课堂学习小demo:https://ke.qq.com/course/256052)一、简单的指令应用 ——打击灭火器图片素材点击腾讯课堂的链接获取     html: 1 DOCTYPE html> 2 3 4 5 6 敲烂灭火器 7...

(腾讯课堂学习小demo:https://ke.qq.com/course/256052)

一、简单的指令应用 ——打击灭火器

图片素材点击腾讯课堂的链接获取

     

html:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="author" content="xing.org1^-^">
 6     <title>敲烂灭火器</title>
 7     <link rel="stylesheet" href="style.css">
 8     <script src="https://cdn.jsdelivr.net/npm/vue"></script>
 9 </head>
10 <body>
11     <div id="app">
12         <div class="img-box" v-bind:class="{imgburst:ended}"></div>
13         <div v-show="!ended">生命值剩余:{{health}} %</div>
14         <div v-show="ended">你赢了!</div>
15         <div class="progress">
16             <div class="progress-child" v-bind:style="{width: health + '%'}"></div>
17         </div>
18         <div class="button-box">
19             <button class="btn1" v-on:click="blow" v-bind:class="{disabled: ended}" >使劲敲</button>
20             <button v-on:click="restart">重新开始</button>
21         </div>
22     </div>
23     <script src="vueJson.js"></script>
24 </body>
25 </html>
html
总结:
v-bind:class的后边,是一个对象,返回布尔值!!!
并且,绑定的class样式名,不能有中横线链接符,比如:img-brust,这种会导致vue解析错误

 css:

 1 /*京东初始化*/
 2 * {
 3     margin: 0;
 4     padding: 0;
 5     font-family: "微软雅黑"
 6 }
 7 em,i {
 8     font-style: normal
 9 }
10 li {
11     list-style: none
12 }
13 img {
14     border: 0;
15     vertical-align: middle
16 }
17 button {
18     cursor: pointer
19 }
20 a {
21     color: #666;
22     text-decoration: none
23 }
24 a:hover {
25     color: #c81623
26 }
27 div{
28     text-align: center;
29     margin-bottom: 5px;
30 }
31 .img-box{
32     width: 200px;
33     height: 539px;
34     margin: 0 auto;
35     background: url("img/bag.png") no-repeat;
36 }
37 .imgburst{
38     background: url("img/bag-burst.png") no-repeat;
39 }
40 .progress{
41     width: 200px;
42     height: 20px;
43     margin: 0 auto;
44     overflow: hidden;
45     background: #fff;
46     border-radius: 5px;
47     border: 2px solid red;
48 }
49 .progress-child{
50     width: 100px;
51     height: 20px;
52     background: red;
53 }
54 .button-box{
55     width: 213px;
56     margin: 20px auto;
57     overflow: hidden;
58 }
59 button{
60     padding: 10px 20px;
61     margin-left: 10px;
62     border-radius: 5px;
63     border: 1px solid #999;
64     background: #e5ffc9;
65 }
66 button:hover,button:focus{
67     outline: none;}
68 button:hover{
69     background: #4488ff;
70     border-color: #4488ff;
71     color: #fff;
72 }
73 .btn1:hover{
74     background: red;
75     border-color: red;
76 }
77 button.disabled{
78     cursor: not-allowed;
79     background: #999
80 }
css

Vue.js:

 1 new Vue({
 2     el: "#app",
 3     data: {
 4         health: 100,
 5         ended: false
 6     },
 7     methods: {
 8         blow: function(){
 9             this.health -= 10;
10             if(this.health <= 0){
11                 this.ended = true;
12                 this.health = 0
13             }
14             // console.log(this.health,this.ended)
15         },
16         restart: function(){
17             this.health = 100;
18             this.ended = false;
19             // console.log(this.health,this.ended)
20         }
21     }
22 })
Vue实例
注意:
console.log打印很有帮助

  

二、v-on鼠标移动事件 —— 时刻显示鼠标地理位置

 html:

1 <div id="canvas" @mousemove="mouseMove">x: {{mouseX}}, y: {{mouseY}}
2                         <em class="em" @mousemove.stop="">在我的区域内停止更新,都是阻止事件(冒泡)修饰符的功劳</em>
3                     </div>
html Code

css:

 1 #canvas{
 2     width: 680px;
 3     padding: 150px 0;
 4     text-align: center;
 5     background: #dedede;
 6 }
 7 .em{
 8     display: block;
 9     padding: 10px 5px;
10         background: #f5c9c9;
11     font-style: normal;
12     color: #333;
13 }
css

Vue.js

 1 new Vue({
 2     el: "#vue-app",
 3     data: {
 4         mouseX: 0,
 5         mouseY: 0,
 6     },
 7     methods:{
 8         mouseMove: function(event){
 9             console.log("5、我是mouseMove函数");
10             // console.log(event);
11             this.mouseX = event.offsetX;
12             this.mouseY = event.offsetY;
13         }
14     }
15 })
Vue.js
注意:
console.log把event事件输出后,寻找到offsetX和Y属性的

  

 

声明:

请尊重博客园原创精神,转载或使用图片请注明:

博主:xing.org1^

出处:http://www.cnblogs.com/padding1015/

来源:腾讯课堂 https://ke.qq.com/course/256052#term_id=100301895

目录
相关文章
|
1天前
|
缓存 JavaScript
【vue】如何搭建拦截器和设置路由守卫(基于token认证)
【vue】如何搭建拦截器和设置路由守卫(基于token认证)
8 0
|
1天前
|
JavaScript
Vue 如何新建一个项目(如何安装依赖)
Vue 如何新建一个项目(如何安装依赖)
6 0
|
1天前
|
资源调度 JavaScript 开发者
插件使用:扩展Vue功能与第三方插件
【4月更文挑战第23天】Vue凭借其轻量级和灵活性在Web开发中备受青睐,而插件则进一步增强了其功能。本文探讨了如何在Vue项目中选择、安装、配置和管理插件,以适应不同需求。要点包括:选择可靠且兼容的插件,使用npm或yarn安装,根据文档配置,以及注意性能影响。明智使用插件能提升开发效率,但需避免过度依赖,确保与项目目标和技术栈匹配。不断学习新插件,可保持技术领先并优化项目实践。
|
2天前
|
设计模式 JavaScript 前端开发
Vue源码学习需要哪些工具和技能
【4月更文挑战第20天】学习Vue源码需具备的工具与技能:VS Code或WebStorm作为代码编辑器,Node.js与npm管理依赖,Git操作仓库。基础包括JavaScript、ES6+语法、前端知识(HTML/CSS/浏览器原理)及Vue基础知识。进阶则需源码阅读理解能力,调试技巧,熟悉设计模式和架构思想。学习方法强调系统学习、实践与持续关注Vue最新动态。
17 8
|
2天前
|
JavaScript 前端开发 编译器
Vue 源码学习路线
【4月更文挑战第20天】探索Vue源码涉及响应式系统、虚拟DOM、模板编译等核心概念。先掌握Vue基础知识、JavaScript(ES6+)和前端工程化。从源码入口文件开始,研究响应式、虚拟DOM、模板编译、实例方法、全局API及生命周期。理解编译器和渲染器工作原理,实践编写Vue插件,参与开源项目,阅读相关文章教程,持续关注Vue最新动态。这是一个循序渐进、需要耐心和实践的过程。
8 1
|
2天前
|
JavaScript 前端开发
鼠标监视 | 拖拽方块 | Vue
鼠标监视 | 拖拽方块 | Vue
6 0
|
2天前
|
JavaScript
Vue控制是否禁用disabled属性
Vue控制是否禁用disabled属性
10 1
|
2天前
|
JavaScript 前端开发
Vue鼠标悬浮切换图片
Vue鼠标悬浮切换图片
12 0
|
2天前
|
JavaScript 前端开发 内存技术
Vue入门:构建你的第一个Vue应用程序
【4月更文挑战第22天】Vue.js 入门教程:安装 Node.js 和 npm,使用 Vue CLI (`npm install -g @vue/cli`) 创建项目,选择预设或自定义配置。在 `src/components/` 创建 `HelloWorld.vue` 组件,显示数据属性。在 `App.vue` 中引入并注册组件,启动开发服务器 (`npm run serve`) 预览。开始你的 Vue 之旅!
|
2天前
|
JavaScript 前端开发 UED
动画效果:给 Vue 应用添加过渡和动画
【4月更文挑战第22天】Vue 框架提供强大的过渡和动画功能,增强用户体验,创建流畅的用户界面。通过CSS动画、设置过渡属性和自定义过渡,开发者能实现多样化效果。同时,结合组件状态、关注性能并测试优化,确保在不同设备上运行良好,打造引人入胜的应用交互。