“Vue 计数器”的版本间的差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
Jihongchang(讨论 | 贡献)  | 
				Jihongchang(讨论 | 贡献)   | 
				||
| (未显示同一用户的7个中间版本) | |||
| 第8行: | 第8行: | ||
var app = new Vue({  | var app = new Vue({  | ||
   el:"#app",  |    el:"#app",  | ||
| − |    data:{},  | + |    data:{  | 
| − |    methods:{}  | + |     num:1  | 
| + |   },  | ||
| + |    methods:{  | ||
| + |     add:function(){},  | ||
| + |     sub:function(){}  | ||
| + |   }  | ||
})  | })  | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
| + | |||
| + | # <u>data</u> 中定义数据:比如 <u>num</u>  | ||
| + | # methods 中添加两个方法:比如 <u>add</u>(递增),<u>sub</u>(递减)  | ||
| + | # 使用 <u>v-text</u> 将 <u>num</u> 设置给 <u>span</u> 标签  | ||
| + | # 使用 <u>v-on</u> 将 <u>add</u>, <u>sub</u> 分别绑定给 <u>+</u>,<u>-</u> 按钮  | ||
| + | # 累加的逻辑:小于<u>10</u>累加,否则提示  | ||
| + | # 递减的逻辑:大于<u>0</u>递减,否则提示  | ||
| + | <syntaxhighlight lang="html">  | ||
| + | <!DOCTYPE html>  | ||
| + | <html lang="en">  | ||
| + | |||
| + | <head>  | ||
| + |     <meta charset="UTF-8">  | ||
| + |     <meta name="viewport" content="width=device-width, initial-scale=1.0">  | ||
| + |     <meta http-equiv="X-UA-Compatible" content="ie=edge">  | ||
| + |     <title>Vue基础</title>  | ||
| + | </head>  | ||
| + | |||
| + | <body>  | ||
| + |     <div id="app">  | ||
| + |         <div class="input-num">  | ||
| + |             <button @click="sub">  | ||
| + |                 -  | ||
| + |             </button>  | ||
| + |             <span>{{ num }}</span>  | ||
| + |             <button @click="add">  | ||
| + |                 +  | ||
| + |             </button>  | ||
| + |         </div>  | ||
| + |     </div>  | ||
| + |     <!-- 开发环境版本,包含了有帮助的命令行警告 -->  | ||
| + |     <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>  | ||
| + |     <script>  | ||
| + |         var app = new Vue({  | ||
| + |             el: "#app",  | ||
| + |             data: {  | ||
| + |                 num: 1  | ||
| + |             },  | ||
| + |             methods: {  | ||
| + |                 add: function () {  | ||
| + |                     if (this.num < 10) {  | ||
| + |                         this.num++;  | ||
| + |                     } else {  | ||
| + |                         alert("别点啦,最大啦!");  | ||
| + |                     }  | ||
| + | |||
| + |                 },  | ||
| + |                 sub: function () {  | ||
| + |                     if (this.num > 0) {  | ||
| + |                         this.num--;  | ||
| + |                     } else {  | ||
| + |                         alert("别点啦,最小啦!");  | ||
| + |                     }  | ||
| + | |||
| + |                 }  | ||
| + |             }  | ||
| + |         })  | ||
| + |     </script>  | ||
| + | </body>  | ||
| + | |||
| + | </html>  | ||
| + | </syntaxhighlight>  | ||
| + | |||
| + | === 总结 ===  | ||
| + | |||
| + | * 创建 Vue 实例时:<u>el</u>(挂载点),<u>data</u>(数据),<u>methods</u>(方法)  | ||
| + | * <u>v-on</u> 指令的作用是绑定事件,简写为 <u>@</u>  | ||
| + | * 方法中通过 <u>this</u>,关键字获取 <u>data</u> 中的数据  | ||
| + | * <u>v-text</u> 指令的作用是:设置元素的<u>文本值</u>,简写为 <u><nowiki>{{}}</nowiki></u>  | ||
2023年6月8日 (四) 13:50的最新版本
https://www.bilibili.com/video/BV12J411m7MG/?p=10
<div class="input-num">
  <button @click>-</button>
  <span>{{}}</span>
  <button @click>+</button>
</div>
var app = new Vue({
  el:"#app",
  data:{
    num:1
  },
  methods:{
    add:function(){},
    sub:function(){}
  }
})
- data 中定义数据:比如 num
 - methods 中添加两个方法:比如 add(递增),sub(递减)
 - 使用 v-text 将 num 设置给 span 标签
 - 使用 v-on 将 add, sub 分别绑定给 +,- 按钮
 - 累加的逻辑:小于10累加,否则提示
 - 递减的逻辑:大于0递减,否则提示
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Vue基础</title>
</head>
<body>
    <div id="app">
        <div class="input-num">
            <button @click="sub">
                -
            </button>
            <span>{{ num }}</span>
            <button @click="add">
                +
            </button>
        </div>
    </div>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script>
        var app = new Vue({
            el: "#app",
            data: {
                num: 1
            },
            methods: {
                add: function () {
                    if (this.num < 10) {
                        this.num++;
                    } else {
                        alert("别点啦,最大啦!");
                    }
                },
                sub: function () {
                    if (this.num > 0) {
                        this.num--;
                    } else {
                        alert("别点啦,最小啦!");
                    }
                }
            }
        })
    </script>
</body>
</html>
总结
- 创建 Vue 实例时:el(挂载点),data(数据),methods(方法)
 - v-on 指令的作用是绑定事件,简写为 @
 - 方法中通过 this,关键字获取 data 中的数据
 - v-text 指令的作用是:设置元素的文本值,简写为 {{}}