vue概念

一、什么是vue

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面渐进式框架

vue2官网:Vue.js

什么是构建用户界面

基于数据渲染出用户可以看到的界面

什么是渐进式

渐进式就是循序渐进,不一定非得把vue中得所有API都学完才能开发vue,可以学一点开发一点

vue的两种开发方式:

1.vue核心包开发

场景:局部模块改造

2.vue核心包&vue插件&工程化【重点】

场景:整站开发

二、什么是框架

框架:就是一套完整的解决方案

库:类似工具箱,是一堆方法的集合,比如axios,lodash,echarts等

框架:是一套完整的解决方案,实现了大部分功能,我们只需要按照一定的规则去编码即可

框架的特点: 有一套必须让开发者遵守的规则或者约束 学习框架就是学习这些规则

传统开发模式下vue基本模板

  •  使用工具:Vscode

  新建html文件——> ! + Enter 搭建框架

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>

1. 引入vue.js

  在 head 标签中加入下列代码,引入vue.js(以vue2为例)。

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

2. 建立容器

  在 body 标签中加入以下代码,之后的代码必须写在该标签下。

<div id="app"></div>

3. 创建vue实例

  在 body 标签下新建一个 script 标签(里面写 js 代码)。

  var vm = new Vue({
        el: '#app', // 提供一个在页面上已存在的DOM元素作为 vue 实例的挂载目标
        data: {
            // 实例的数据对象
            msg: 'success',
            num: 1,
            string: 'abc',
            arr: [1, 2, 3, 4, 5]
        }
    })

完整代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>

<body>
    <div id="app"></div>
</body>

<script>
    var vm = new Vue({
        el: '#app', // 提供一个在页面上已存在的DOM元素作为 vue 实例的挂载目标
        data: { // 实例的数据对象
            msg: 'success',
            num: 1,
            string: 'abc',
            arr: [1, 2, 3, 4, 5]
        }
    })
    console.log(vm)
    console.log(vm.$data)
    console.log(vm.$options)
</script>

</html>

关于 vue 中 $符号的使用

$ 符号是内置的实例方法属性,以便与用户定义的属性区分开来。避免我们自己声明或者添加自定义属性导致覆盖。

  $options简单了解一下,

vue实例属性 $options 是一个对象,可以调用 vue 的各个组件下的方法和数据

即 new Vue({})大括号内的东西,统称为 options

-----------------------------------------------------------分割线------------------------------------------------------------ 

插值表达式 

目的:在DOM标签中,直接插入内容

又叫: 声明式渲染/文本插值

语法:{{表达式}}

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>

<body>
    <div id="app">
        <!-- 插值表达式不能写循环语句,不能写条件语句 -->
        <p>{{num}}</p>
        <p>{{num + 1}}</p>
        <p>{{24}}</p>
        <p>{{flag}}</p>
        <p>{{falg?'成功':'失败'}}</p>
        <p>{{msg}}</p>
        <p>{{msg + 'vue牛牛牛'}}</p>
        <p>{{'hello world!'}}</p>
        <p>{{arr}}</p>
        <p>{{arr.reverse()}}</p>
        <p>{{obj}}</p>
        <p>{{obj.name}}</p>
    </div>
</body>

<script>
    var vm = new Vue({
        el: '#app',
        data: {
            msg: 'success',
            num: 1,
            arr: [1, 2, 3, 4, 5],
            falg: false,
            obj: {
                name: 'abc',
                age: 22,
            }
        }
    })
    console.log(vm)
    console.log(vm.$data)
    console.log(vm.$options)
</script>

</html>

 总结:DOM中插值表达式赋值,vue变量必须在data中声明 

 -----------------------------------------------------------分割线------------------------------------------------------------

vue基础-MVVM设计模式

用数据驱动试图改变,操作DOM的事,vue源码干了

设计模式:一套被反复使用,多数人知晓的,经过分类编目的,代码设计经验的总结。

MVVM:一种软件架构模式,决定了写代码的思想和层次

M:model数据模型(data中定义)

V:view视图(html页面)

VM:ViewModel 视图模型(vue.js源码)

MVVM 通过数据双向绑定让数据自动双向同步,不再需要操作DOM

V(修改视图)——> M(数据自动同步)

M(修改数据)——> V(视图自动同步)

总结:vue源码采用MVVM设计模式思想,大大减少了DOM操作,提高开发效率

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值