VUE详解

JavaWeb项目前后端分离

        前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端、安卓、IOS等等)打下坚实的基础。
        这个步骤是系统架构从猿进化成人的必经之路。
        核心思想是前端html页面通过ajax调用后端的restuful api接口并使用json数据进行交互。
前后分离的优势
1.可以实现真正的前后端解耦,前端服务器使用nginx/tomcat。前端/WEB服务器放的是css、js、图片等等一系列静态资源,前端服务器负责控制页面引用、跳转、路由。
2.发现bug,可以快速定位是谁的问题,不会出现相互踢皮球的现象。页面逻辑,跳转错误,浏览器兼容性问题,脚本错误,页面样式等问题,全部由前端工程师来负责。接口数据出错,数据没有提交成功,应答超时等问题,全部由后端工程师来解决。
3.减少后端服务器的负载压力。除了接口以外的其他所有http请求全部转移到前端服务器上。
4.即使后端服务暂时超时或者宕机了,前端页面也会正常访问,只不过数据刷不出来而已。
5.也许你也需要有微信相关的轻应用,那样你的接口完全可以共用,如果也有app相关的服务,那么只需要通过一些代码重构,也可以大量复用接口,提升效率。(多端应用)
6.页面显示的东西再多也不怕,因为是异步加载。
7.nginx支持页面热部署,不用重启服务器,前端升级更无缝。
8.增加代码的维护性和易读性(前后端混在一起的代码读起来相当费劲)。
9.提升开发效率,因为可以前后端并行开发,而不是像以前的强依赖。
10.在nginx中部署证书,外网使用https访问,并且只开放443和80端口,其他端口一律关闭(防止黑客端口扫描),内网使用http,性能和安全都有保障。
11.前端大量的组件代码得以复用,组件化,提升开发效率。

MVVM

        MVVM是Model-View-ViewModel的简写。MVVM就是将其中的View的状态和行为抽象化,让我们将视图UI和业务逻辑分开。当然这些事ViewModel已经帮我们做了,它可以取出Model的数据同时帮忙处理View中由于需要展示内容而涉及的业务逻辑。
在这里插入图片描述

1.什么是Vue.js

        Vue是一套用于构建用户界面的渐进式框架。与其他大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。
        Vue.js是前端的主流框架之一,和Angular.js、React.js一起,并成为前端三大主流框架。

2.Vue.js优点

1.体积小 压缩后33k
2.更高的运行效率
        用JQuery或者原生的JavaScript DOM操作函数对DOM进行频繁操作的时候,浏览器要不停的渲染新的DOM树,导致页面看起来非常卡顿。
        基于虚拟dom,一种可以预先通过JavaScript进行各种计算,把最终的DOM操作计算出来并优化的技术,由于这个DOM操作属于预处理操作,并没有真实的操作DOM,所以叫做虚拟DOM,最后在计算完毕才真正将DOM操作提交,将DOM操作变化反映到DOM树上。
3.双向数据绑定,简化DOM操作
        通过MVVM思想实现数据的双向绑定,让开发者不再操作DOM对象,把更多的精力投入到业务逻辑上。
4.生态丰富,学习成本低
        市场上拥有大量成熟、稳定的基于vue.js的UI框架、常用组件,来实现快速开发,对初学者友好,入门容易,学习资料多。

3.第一个Vue程序

1.导入开发版本的Vue.js
2.创建Vue实例对象,设置el属性和data属性
3.使用简洁的模板语法把数据渲染到页面上
Vue.js的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进DOM的系统:
在这里插入图片描述
代码解析:
{ {变量}}模板语法,插值表达式获取数据
new Vue();创建Vue对象(VM对象)
el:数据挂载的dom对象
        Vue会管理el选项命中的元素及其内部的后代元素
        可以使用其他的选择器,但是建议使用ID选择器
        可以使用其他的闭合标签,不能使用html和body
data:{message:‘hello world’}model数据
        Vue中用到的数据定义在data中
        data中可以写复杂类型的数据,如对象,数组
        渲染复杂类型数据时,遵守js的语法即可

4.模板语法

        Vue.js使用了基于HTML的模板语法,允许开发者声明式地将DOM绑定至底层Vue实例的数据。所有Vue.js的模板都是合法的HTML,所以能被遵循规范的浏览器和HTML解析器解析。
        在底层的实现上,Vue将模板编译成虚拟DOM渲染函数。结合响应系统,Vue能够智能地计算出最少需要重新渲染多少组件,并把DOM操作次数减到最小。
插值文本
        数据绑定最常见的形式就是使用“Mustache”语法(双大括号)的文本插值:< span>Message:{ {msg}}< /span>,Mustache标签将会被替代为对应数据对象上msg property的值。无论何时,绑定的数据对象上msg property发生了改变,插值处的内容都会更新。
使用JavaScript
        迄今为止,在我们的模板中,我们一直都只绑定简单的property键值。但实际上,对于所有的数据绑定,Vue.js都提供了完全的JavaScript表达式支持。
{ {number+1}}
{ {ok?‘YES’:‘NO’}}
{ {message.split(’’).reverse().join(’’)}}
< div v-bind:id="‘list-’+id">< /div>
这些表达式会在所属Vue实例的数据作用域下作为JavaScript被解析。有个限制就是,每个绑定都只能包含单个表达式,所以下面的例子都不会生效。
< !-- 这是语句,不是表达式 -->
{ {var a=1}}
< !-- 流程控制也不会生效,请使用三元表达式 -->
{ {if(ok){return message} }}

5.Vue指令

        指令带有前缀v-开头,以表示它们是Vue提供的特殊属性。
v-text
作用是设置标签的文本内容
默认写法会替换全部内容,使用插值表达式可以替换指定内容
内部支持写表达式

<span v-text="message">aaa</span>
<span v-text="message+1"></span>

< b>hello Vue!< /b> < b>hello Vue!< /b>1
v-html
作用是设置元素的innerHTML
内容中有html结构会被解析为标签
内容支持写表达式

<span v-html="message+1">指令绑定的内容会覆盖标签内的内容</span>

        hello Vue!1
v-on
作用是为元素绑定事件
事件名不需要写on指令可以简写为@
绑定的方法定义在methods属性中,可以传入自定义参数

<input type="button" value="操作1" v-on:click="oper()"/>
<input type="button" value="操作2
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue Router是Vue.js官方的路由管理器,用于构建单页面应用。它可以实现前端路由功能,将路径和组件进行映射,使得页面的路径改变时可以动态地切换组件显示。Vue Router的使用步骤如下: 1. 创建路由组件:首先需要创建一个或多个组件,用来作为路由的目标组件,即根据路径切换显示的组件。 2. 配置路由映射:在创建Vue实例之前,需要配置路由映射关系。通过定义一个路由表,将路径和组件进行映射,指定每个路径对应的组件。这可以通过创建一个路由实例,并传入一个包含路由配置的对象来实现。 3. 使用路由:在Vue实例中使用路由功能,主要有两个方面。一是使用`<router-link>`组件设置导航链接,该组件会根据指定的路径生成对应的链接,点击链接时会触发路由切换;二是使用`<router-view>`组件用来显示当前路径对应的组件内容,它会根据当前路径的变化动态地渲染不同的组件。 通过以上步骤,我们可以使用Vue Router来实现前端路由功能,使得用户在浏览器中的路径改变时,页面能够根据路径的变化来动态地切换显示不同的组件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue-router 详解](https://blog.csdn.net/CSDNwei/article/details/130841098)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值