vue介绍

什么是vue
vue是一套用于构建用户界面的渐进式框架。

框架和库的区别

库是一种插件,是一种封装好的特定方法的集合。提供给开发者使用,控制器在使用者手里。

框架是一套架构,会基于自身特定向用户提供一套相当完整的解决方案,控制权在框架本身,使用者需要按照框架所规定的某种特定规范进行开发。

目前的流行前端框架

Angular Vue React
流行的一些库jquery ,Zepto

vue作为前端框架的特点

  1. 构建用户界面,只需要关系view层
  2. 易学,轻量快速
  3. 渐进式框架

什么是渐进式?
1.声明式渲染
2.组件系统
3.客户端路由
4.大规模状态管理
5.构建工具

vue优点:
响应式的数据绑定:
当数据发生改变,视图可以自动更新,可以不用关心dom的操作,专心数据操作。

可组合的视图组件:
把视图按照功能切分成若干基本单元。

什么是MVVM

什么是MVC,MVC是后端的分层开发概念,M-modle数据层面,C-controller数据控制层,V-view前端人员的视图层。

什么是MVVM,其中M-保存每个页面中的数据,VM-是一座桥将M和V进行分割,M和V的数据交互都需要它来帮助,V-是每个页面的html。

前端

MVVM是前端视图层的分层开发思想,主要把每个页面,分成了M,V和VM,VM是MVVM的思想的核心,VM是M和V之间的调度者。

前端MVVM的思想是为了让我们开发更加方便,因为MVVM提供了数据的双向绑定,数据的双向绑定时由MV提供的。

M
M保存的是每个页面中单独的数据

VM
它是一个调度者,分割了M和V。

V
是每个页面中HTML结构

app.js
项目的入口模块
一切的请求,都要先进入这里进行chuli
app.js并没有路由分发的功能,需要调用router.js模块进行路由的分发处理

router.js
路由分发处理模块,只负责分发路由

controller
这是业务逻辑的处理层
在这个模块中,封装了一些具体业务逻辑处理的逻辑代码,但是,为了保证职能单一,此模块只负责处理业务,不负责处理数据的CRUD。

Model层
只负责操作数据库,执行对应sql语句

创建VUE实例

安装:
1.去官网下载指定顶vue版本包
2.使用cdn使用线上版本
3.使用npm进行安装
4.使用CLI脚手架

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--导入Vue cdn 的网址-->
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.22/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <p>{{msg}}</p>
    </div>
    <script>
        var vm = new Vue({
            // 也可以绑定docuemnt.getElementById('#app')返回的app对象
            el:"#app",
            data:{
                msg:"第一个案例"
            }
        })
    </script>
</body>
</html>

v-text 能展示对应data中数据内容,也能在数据基础上做运算

v-html -- html标签渲染
容易产生xss攻击
如何防止xss攻击:
1.前端过滤
2.后台转义
3.给cookie 加上属性 http

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--导入Vue cdn 的网址-->
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.22/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <p v-html="msg"></p>
    </div>
    <script>
        var vm = new Vue({
            el:"#app",
            data:{
                msg:"<span style='color:red'>v-html渲染</span>"
            }
        })
    </script>
</body>
</html>

v-cloak

'v-text' 虽然没有数据加载闪烁问题,但是会将标签中间的数据覆盖,也不能渲
染html格式数据。

'v-html' 谨慎使用会出现xss攻击的风险


若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。


请点赞!因为你们的赞同/鼓励是我写作的最大动力!

欢迎关注达达的简书!

这是一个有质量,有态度的博客

博客

posted @ 2019-10-26 16:54  达达前端  阅读(882)  评论(0编辑  收藏  举报