前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web前端学习 第7章 Vue基础教程1 Vue概述

Web前端学习 第7章 Vue基础教程1 Vue概述

原创
作者头像
学习猿地
修改2020-06-23 14:45:12
8330
修改2020-06-23 14:45:12
举报
文章被收录于专栏:学习猿地学习猿地

一、vue概述

目前前端开发最火热的三大框架分别是React、Angular和Vue。

Angular是谷歌公司开发的前端框架,在国外的用户比国内用户多很多,国内始终是不温不火的状态。

React和Vue的国内用户比较多。可能是因为Vue简单易用,而且是由华人开发,所以Vue在国内的受众非常多。从本章我们开始学习Vue的相关知识。

使用vue还是jQuery

jQuery仍然有自己的优势,例如我们制作一些相对简单的网站,或者是网站的部分活动页面,使用jQuery仍然可以提升开发效率。但是面对稍微具备规模的web应用,vue绝对是更好的选择。

二、第一个Vue项目

有两种方法可以在自己的项目中引入Vue:

  • 第一种是像引入jQuery一样,引入Vue.js文件。
  • 第二种是使用Node环境,构建基于Vue的web项目。

在真实的项目开发中,都会使用第二种开发方式,本节我们先以第一种-引入Vue.js文件方式起步。

代码语言:javascript
复制
 1 <body>
 2     <div id="app">
 3         {{message}}
 4     </div>
 5     <script src="vue.js"></script>
 6     <script>
 7         new Vue({
 8             data:{
 9                 message:"hello world"
10             }
11         }).$mount("#app")
12     </script>
13 </body>

我们再来看一下上面的代码,它包含了一个vue程序最基本的结构:

首先,我们在html中定义了一个id为app的容器,然后我们在js创建一个Vue的实例,通过el属性指定这个容器,从而实现让js接管html.

每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的:

代码语言:javascript
复制
1 var vm = new Vue({
2   // 选项
3 })
  • 在构造函数Vue中,我们需要传入一个【选项对象】来进一步描述vue实例的行为。
  • $mount方法,将Vue挂载到html。
  • el属性,作用于$mount相同。
  • data属性,在Vue的实例之下添加属性。
  • {{}}可以输入一个表达式,也可以直接获取Vue实例的属性。

三、绑定属性

上面的例子中,我们将一个data中的message属性通过双花括号显示在文本节点之中,除此之外,我们还可以将数据绑定成为一个html属性,示例代码如下所示。

代码语言:javascript
复制
 1 <body>
 2     <div id="app">
 3         <h1 v-bind:title="message">鼠标停留在这个H1标签上,可以看到title</h1>
 4         <h1 :title="message">鼠标停留在这个H1标签上,可以看到title</h1>
 5     </div>
 6     <script src="../../script/vue.js"></script>
 7     <script>
 8         new Vue({
 9             data:{
10                 message:"hello world"
11             }
12         }).$mount("#app")
13     </script>
14 </body>

使用【v-bind:属性名】和【:属性名】两种方式都可以绑定属性,在实际开发中,我们通常使用简写。

四、绑定事件

在【选项对象】中可以设置methods属性为vue的示例添加方法,这些方法我已直接被调用,也可以绑定为事件。绑定事件的方法如下所示:

代码语言:javascript
复制
 1 <body>
 2     <div id="app">
 3         <button v-on:click="fun">按钮</button>
 4         <button @click="fun">按钮</button>
 5     </div>
 6     <script src="../../script/vue.js"></script>
 7     <script>
 8         new Vue({
 9             methods:{
10                 fun(){
11                     alert("hello world")
12                 }
13             }
14         }).$mount("#app")
15     </script>
16 </body>

使用【v-on:事件类型】和【@事件类型】两种方式都可以为元素绑定事件,在实际开发中,通常使用简写。

methods属性中定义的方法内部,可以使用this获取到vue的示例,也就是说我们可以进一步通过this获取到data中的属性,而且可以通过赋值的方式改变data中的属性值。

代码语言:javascript
复制
 1 <body>
 2     <div id="app">
 3         <h1>{{title}}</h1>
 4         <button @click="changeTitle">改变标题</button>
 5     </div>
 6     <script src="../../script/vue.js"></script>
 7     <script>
 8         new Vue({
 9             data:{
10                 title:"hello world"
11             },
12             methods:{
13                 changeTitle(){
14                     this.title = "hello Vue";
15                 }
16             }
17         }).$mount("#app")
18     </script>
19 </body>

在上面的例子中,我们实现了通过按钮的点击事件改变h1中的文本内容。

事件修饰符详解
  • .prevent:阻止元素的默认行为
  • .stop:阻止事件冒泡
  • .once:只触发一次事件
代码语言:javascript
复制
 1 <!-- 阻止元素默认行为 -->
 2 <div id="app">
 3     <form @submit.prevent="postData">
 4         <input type="submit">
 5     </form>
 6 </div>
 7 <script src="js/vue.js"></script>
 8 <script>
 9     //jquery:操作DOM
10     const vue = new Vue({
11         methods:{
12             postData(){
13                 console.log("提交数据");
14             }
15         }
16     });
17     vue.$mount("#app")
18 </script>
19 
20 <!-- 阻止事件冒泡 -->
21 <div id="app">
22     <button @click.once="test">test</button>
23 </div>
24 <script src="js/vue.js"></script>
25 <script>
26     const vue = new Vue({
27         methods:{
28             test(){
29                 console.log("提交数据");
30             }
31         }
32     });
33     vue.$mount("#app")
34 </script>
五、课后练习
  1. 制作一个计数器,点击+,计数器数值增加,点击-,计数器数值减小,且不能小于零。
  2. 制作一个图片切换的功能,电子数字列表,改变img标签显示的图片。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、vue概述
    • 使用vue还是jQuery
    • 二、第一个Vue项目
    • 三、绑定属性
    • 四、绑定事件
      • 事件修饰符详解
        • 五、课后练习
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档