如何快速上手Vue框架?(上)

简介: 如何快速上手Vue框架?(上)

编译软件:IntelliJ IDEA 2019.2.4 x64

运行环境:Google浏览器

Vue框架版本:Vue.js v2.7.14

一. 框架是什么?

任何编程语言在最初的时候都是没有框架的,后来随着在实际开发过程中不断的总结经验积累最佳的解决方案,慢慢地人们发现在很多特定场景的特定问题,总是可以套用固定的解决方案

于是有人把成熟的固定解决方案收集起来,整合在一起,就形成了框架

在使用框架时,我们往往并不会关心框架是如何编程实现,我们只会关心它能不能实现我们想要的代码逻辑,当然,前提是我们需要提前对框架进行声明,即告诉它要做什么,就像用洗衣机洗衣服时需要先放衣服,洗衣液,设置洗涤模式等相应功能参数。

而我们使用Vue框架,就是在其导入了封装的固定的解决方案js文件的基础上进行编程开发。


二. 怎么写一个Vue程序(以IDEA举例)?

步骤:

  1. 官网上下载Vue框架的js文件

  2. 在IDEA上新建工程文件,在其工程目录新建一个js文件夹并创建一个空白的Vue.js文件,将官网上的Vue框架的js代码全选复制粘贴至我们新建的Vue.js上



  3. 新建一个HelloWorld.html文件,在其上搭建Vue框架
    a. 将Vue.js引入到网页内

ps:在IDEA里直接将Vue.js拖拽至HelloWorld.html里,自动实现引入

<script src="vue.js"></script>
  1. b. 在body标签内设置一个区域(Vue要操作的区域)
//在body里设置一个空的 div 元素,具有 ID“app”
<body>
<div id="app"></div>
</body>
  1. c. 在div标签的下方,创建Script标签并new Vue()对象
<body>
<div id="app"></div>
</body>
<script>
  //new Vue()对象
    new Vue({});
</script>
  1. d. 给Vue对象传递一个js对象(通过{}方式创建的js对象)
<script>
new Vue({
el:"#app",//指定为#app的目标元素,用于Vue控制(选择控制区域)
data:{},//一个空对象,将用于存储此实例的数据模型。
methods:{} //一个空对象,将用于定义此实例可能使用的任何自定义方法。 
);
</script>
  1. 实现功能
    a. 设置数据模型
//设置数据模型
data:{
msg:"div的内容"
},
  1. b. 将Vue对象中的数据模型和网页的标签体做一个绑定关系
<body>
<div id="app">
  <!-- [{msg}}-->插值表达式 --> 绑定数据模型 -->
  <div>[{msg}}</div>
</div>
</body>
  1. c. 这样我们在操作div中的内容的时候,就是转化为操作msg
    在元素上绑定事件:
<input type="button"value="获得div中的内容"@click="getText"/>
  1. 在Vue对象的methods内创建函数
"methods":{
//创建自定义函数getText用于获取msg的值,其实是获取div中的文本,以警示框弹出
"getText":function () {
  alert(this.msg);
},
//创建自定义函数setText用于设置msg的值,实际上修改的是div中的内容
"setText":function () {
  this.msg="Vue设置的新值"
}

案例:对div标签体中的内容进行获取或修改

代码演示如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue_HelloWorld</title>
    <script src="vue.js"></script>
</head>
<body>
<div id="app">
    <div id="div01">{{msg}}</div>
    <input type="button" value="获取div的内容" id="btn01" @click="getText">      <!--    无参函数可以省略(),但有参函数不能省略-->
    <input type="button" value="修改div的内容" id="btn02" @click="setText">
</div>
<script>
    new Vue({
        el:"#app",//el是选择Vue可操作的区域
        data:{
          msg: "这是div的内容"
        }, //设置数据模型
        methods:{
            getText:function () {
                alert(this.msg)
            },
            setText:function () {
                this.msg="这是Vue设置的新值"
            }
        }
    }
    )
</script>
</body>
</html>


三. 什么是声明式渲染?

3.1 声明式

声明式是相对于编程式而言的。

  • 声明式告诉框架做什么,具体操作由框架完成
  • 编程式自己编写代码完成具体操作

3.2 渲染

上图含义解释:

  • 蓝色方框:HTML标签
  • 红色圆形:动态、尚未确定的数据
  • 蓝色圆形:经过程序运算以后,计算得到的具体的,可以直接在页面上显示的数据、
  • 渲染:程序计算动态数据得到具体数据的过程

举例如下:


四. Vue如何操作标签体(双标签中的内容)?

语法:

插值表达式{{数据模型中的key值)}

代码举例如下:

<div id="div01">{{msg}}</div>
data:{
          msg: "这是div的内容"
        }

五. Vue如何操作属性值?

5.1 单向绑定

释义:

修改数据模型,html页面同步效果,但是用户修改html属性值,数据模型不会随之改变

语法:

v-bind:原属性名=“数据模型的key值”

可以简写:

:原属性名=“数据模型的key值”

案例:演示单向绑定的效果

<!DOCTYPE html>
<html lang="en" >
<head>
    <meta charset="UTF-8">
    <title>Vue_HelloWorld</title>
    <script src="vue.js"></script>
</head>
<body>
<div id="app">
    <!-- 单向绑定 v-blind   -->
    <input type="text" v-blind:value="username" >
    <br>
    <br>
    <input type="button" value="显示文本框中的内容"  @click="getValue">
</div>
<script>
    new Vue({
            el:"#app",//el是选择Vue可操作的区域
            data:{
                username:"admin"
            },
            methods:{
                getValue:function () {
                    alert(this.username)
                }
            }
        }
    )
</script>
</body>
</html>

案例演示结果:

①输入前的变化

②输入后的变化

5.2 双向绑定

释义:

修改数据模型,html页面同步效果,用户修改html属性值,数据模型会随之改变

语法:

v-model:原属性名=“数据模型的key值”

可以简写为,如下所示

v-model=“数据模型的key值”

注意:

在input标签中,双向绑定只能修改value,因为客户只能修改value属性,其他的属性用户也修改不了

案例:演示实现双向绑定

<!DOCTYPE html>
<html lang="en" >
<head>
    <meta charset="UTF-8">
    <title>Vue_HelloWorld</title>
    <script src="vue.js"></script>
</head>
<body>
<div id="app">
    <!-- 双向绑定 v-blind   -->
    <input type="text" v-model:value="username" >
    <br>
    <br>
    <input type="button" value="显示文本框中的内容"  @click="getValue">
</div>
<script>
    new Vue({
            el:"#app",//el是选择Vue可操作的区域
            data:{
                username:"admin"
            },
            methods:{
                getValue:function () {
                    alert(this.username)
                }
            }
        }
    )
</script>
</body>
</html>

案例演示结果:

①输入前:

②输入后的变化:

tips:

v-model.trim="数据模型的key值” 去前后空格


六. Vue如何实现条件渲染?

6.1 什么是条件渲染?

根据Vue对象中,数据属性的值来判断是否对HTML页面内容进行渲染。即控制元素是否显示。

6.2 v-if

用法:

根据表达式的值来决定是否渲染元素或组件,当表达式的值为真时才会渲染,否则不会渲染。

案例:使用v-if在按按钮的同时改变div的内容

代码演示如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #divs {
            border: 1px solid red;
            width: 100px;
            height: 150px;
        }
    </style>
    <script src="vue.js"></script>
</head>
<body>
<div id="app">
    <div v-if=flag id="divs">这是div的内容</div>
    <input type="button" value="按钮" @click="changeDiv">
</div>
<script>
    new Vue({
      el:"#app",
      data:{
          flag:true
      },
      methods:{
          changeDiv:function () {
              this.flag=!this.flag;
          }
      }
    })
</script>
</body>
</html>

案例演示效果:

①变化前

②变化后

相关文章
|
4天前
|
JavaScript
Vue中如何设置在执行删除等危险操作时给用户提示(二次确认后执行对应的操作)
这篇文章介绍了在Vue项目中如何实现执行删除等危险操作时的二次确认机制,使用Element UI的`el-popconfirm`组件来弹出确认框,确保用户在二次确认后才会执行删除操作。
Vue中如何设置在执行删除等危险操作时给用户提示(二次确认后执行对应的操作)
|
4天前
|
JavaScript
如何创建一个Vue项目(手把手教你)
这篇文章是一篇手把手教读者如何创建Vue项目的教程,包括使用管理员身份打开命令行窗口、找到存放项目的位置、通过vue-cli初始化项目、填写项目信息、进入项目目录、启动项目等步骤,并提供了一些常见第三方库的引入方法。
如何创建一个Vue项目(手把手教你)
|
4天前
|
前端开发
StringBoot+Vue实现游客或用户未登录系统前、可以浏览商品等信息、但是不能购买商品或者加入购物车等操作。登录系统显示用户的登录名(源码+讲解)
这篇文章介绍了使用StringBoot+Vue实现用户登录状态判断的方法,包括前端加载用户信息和后端设置session的源码示例。
|
4天前
|
JavaScript
在Vue中使用Avue、配置过程以及实际应用
这篇文章介绍了作者在Vue项目中集成Avue组件库的完整过程,包括安装、配置和实际应用,展示了如何利用Avue实现动态表单和数据展示的功能。
在Vue中使用Avue、配置过程以及实际应用
|
4天前
|
JavaScript
如何在Vue页面中引入img下的图片作为背景图。../的使用
这篇文章介绍了在Vue页面中如何引入`img`目录下的图片作为背景图,提供了两种使用相对路径的方法。第一种是使用`../assets/img/`作为路径引入图片,第二种是使用`../../assets/img/`作为路径。文章还展示了使用这些方法的代码实现和效果展示,并鼓励读者学无止境。
如何在Vue页面中引入img下的图片作为背景图。../的使用
|
4天前
|
JavaScript
如何通过点击商品的信息(图片或者文字)跳转到更加详细的商品信息介绍(前后端分离之Vue实现)
该博客文章介绍了如何在Vue 2框架下实现前后端分离的商品信息展示和详情页跳转,包括排序筛选、详情展示、加入购物车和分享功能。
如何通过点击商品的信息(图片或者文字)跳转到更加详细的商品信息介绍(前后端分离之Vue实现)
|
4天前
|
JavaScript
在Vue中使用Swiper轮播图、同时解决点击轮播图左右切换按钮不生效的问题、同时将轮播图抽离出为一个公共组件
这篇文章介绍了在Vue中如何使用Swiper插件创建轮播图,解决Swiper左右切换按钮不生效的问题,并展示了如何将Swiper轮播图抽离成一个可复用的公共组件,同时提供了详细的安装、配置和优化建议。
在Vue中使用Swiper轮播图、同时解决点击轮播图左右切换按钮不生效的问题、同时将轮播图抽离出为一个公共组件
|
4天前
|
JavaScript
如何查看Vue使用的版本
这篇文章介绍了如何在项目中查看Vue及其相关库的版本信息,比如element-ui和element-china-area-data。要查看Vue的版本,需要查看项目中的`package.json`文件,在`dependencies`部分可以找到Vue的版本号。如果需要查询不同版本的兼容性,可以访问相应的官方文档或资源网站。
|
4天前
|
存储 JavaScript 前端开发
Vue中如何通过三元运算符来展示不同的操作
这篇文章讲述了在Vue中如何使用三元运算符结合v-if指令来根据订单的不同状态展示不同的操作按钮,例如在待发货状态显示退款按钮,在待付款或完成状态显示删除按钮。
|
4天前
|
JavaScript 开发者
在Vue中引入Message,弹窗提示错误信息
这篇文章讲述了在Vue CLI项目中如何处理异常,通过引入Message组件实现弹窗提示错误信息,帮助开发者排查和解决webpack等问题。