Vue基本知识

前序

MVVM模式

MVVM(Model-View-ViewModel)是一种软件架构设计模式,由微软 WPF(用于替代 WinForm,以 前就是用这个技术开发桌面应用程序的)和 Silverlight(类似于 Java Applet,简单点说就是在浏览器上 运行的 WPF) 的架构师 Ken Cooper 和 Ted Peters 开发,是一种简化用户界面的事件驱动编程方式。 由 John Gossman(同样也是 WPF 和 Silverlight 的架构师)于 2005 年在他的博客上发表。

MVVM 源自于经典的 MVC(Model-View-Controller)模式。MVVM 的核心是 ViewModel 层,负责转 换 Model 中的数据对象来让数据变得更容易管理和使用,该层作用是

  • 向上与视图层进行双向数据绑定
  • 向下与 Model 层通过接口请求进行数据交互

MVVM模式的好处

MVVM 模式和 MVC 模式一样,主要目的是分离视图(View)和模型(Model),有几大好处:

低耦合:

视图(View)可以独立于 Model 变化和修改,一个 ViewModel 可以绑定到不同的 View 上,当 View 变化的时候 Model 可以不变,当 Model 变化的时候 View 也可以不变。

可复用:

你可以把一些视图逻辑放在一个 ViewModel 里面,让很多 View 重用这段视图逻辑。

独立开发:

开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页 面设计。

可测试:

界面素来是比较难于测试的,而现在测试可以针对 ViewModel 来写。

Vue基础知识:

开发环境

vscode 与 Idea都可以,一个小窍门是在vs code中运行直接选中index.html->run(运行)即可。在idea中引入项目vs code的项目后,直接点浏览器的按钮即可。另外前端提示错误以vs code为准,如果vs code中没有错误提示,代码是没有问题的。
在这里插入图片描述

一个运行后的MVVM例子:
在这里插入图片描述

再次对照mvvm

在这里插入图片描述

什么是Vue

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是, Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库 或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复 杂的单页应用提供驱动。

第一个程序

1、编写视图层 (使用vue的插值表达式 {{data中的变量}})
2、编写Vue对象
3、提供数据!

<!-view layer>
<div id="app">
    {{message}}
</div>
<script src="../lib/vue.js"></script>
<script>
    //view model layer
    var vm = new Vue({
        el:'#app',
        data:{
            //model layer
            message:'hello, vue world'
        }
    })
</script>

Vue生命周期

Vue 实例生命周期

Vue基本语法:

语法学习的重点:

  • 视图 v-bind (HTML + CSS)
  • 事件 v-on (JS)
  • 判断 v-if
  • 循环 v-for
  • 双向绑定 v-model 表单中的常用标签都可以进行绑定
  • 通信 (vue是专注于视图层的框架,通信是没有的,推荐我们使用axios
mustache&v-bind

用mustache语法跟v-bind 来进行数据的绑定。mustache语法可以将变量的值变成普通的html,v-bind用来绑定html中的默认的属性, 用于响应式地更新 HTML attribute:

<p>Using mustaches: {{ rawHtml }}</p>
<p>Using v-html directive: <span v-html="rawHtml"></span></p>
v-bind
<a v-bind:[attributeName]="url"> ... </a>
v-on
<a v-on:click="doSomething">...</a>
缩写

v- 前缀作为一种视觉提示,用来识别模板中 Vue 特定的 attribute。当你在使用 Vue.js 为现有标签添加动态行为 (dynamic behavior) 时,v- 前缀很有帮助,然而,对于一些频繁用到的指令来说,就会感到使用繁琐。同时,在构建由 Vue 管理所有模板的单页面应用程序 (SPA - single page application) 时,v- 前缀也变得没那么重要了。因此,Vue 为 v-bindv-on 这两个最常用的指令,提供了特定简写:v-bind简写为:,v-on简写为@。

v-on

可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码。许多事件处理逻辑会更为复杂,所以直接把 JavaScript 代码写在 v-on 指令中是不可行的。因此 v-on 除了接受直接js代码,还可以接收一个需要调用的方法名称。

v-if
<div id="app">
    <!-- 如果成立true则显示这个标签,否则隐藏! -->
    <h2 v-if="type === 'A'"> 测试A </h2>
    <h2 v-else-if="type === 'B'"> 测试B </h2>
    <h2 v-else-if="type === 'C'"> 测试C </h2>
    <h2 v-else> Other </h2>
</div>

<script src="../lib/vue.js"></script>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            type: 'A'
        }
    })
</script>

v-model: [https://cn.vuejs.org/v2/guide/forms.html#%E5%80%BC%E7%BB%91%E5%AE%9A](

https://cn.vuejs.org/v2/guide/forms.html#值绑定)

开始你的第一个vue项目

npm install -g @vue/cli
# OR
yarn global add @vue/cli
vue create my-project
# OR
vue ui
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
vue基本知识只是掌握了框架的一部分内容,虽然能够理解和使用vue的核心概念和基本语法,但项目开发需要更多的技能和经验。以下是一些可能的原因,为什么有人在掌握了vue基本知识后还不会写项目: 1. 缺乏实践经验:仅仅了解基本知识无法让人熟练掌握项目开发的实践经验。项目开发需要在具体的业务场景运用vue,熟悉常见问题和解决方案。 2. 缺乏综合能力:项目开发不单纯只依赖于vue,还需要其他技术和工具的综合运用。例如,前端开发可能需要熟悉HTML、CSS、JavaScript、前端构建工具、版本控制等,而后端开发可能需要熟悉数据库、接口设计、服务器配置等。 3. 没有学习和实践项目开发的机会:有些人可能只是学习了vue基本知识,但没有进行项目实战的机会,或者没有足够的时间和机会去开发项目。没有实践,就无法形成对项目开发的熟悉和理解。 4. 缺乏团队协作经验:在实际项目开发,往往需要与团队成员合作完成任务。缺乏团队协作经验可能导致在项目开发遇到各种问题和困难。 为了提高项目开发能力,除了掌握vue基本知识外,可以通过以下途径进行进一步提升: 1. 实践项目开发:尝试自己独立完成一个小型的项目,从需求分析到开发上线,全流程锻炼自己的项目开发能力。 2. 参与开源项目或团队项目:通过参与开源项目或加入团队项目,与其他开发者协作,学习他们的开发思路和经验。 3. 学习相关技术和工具:不仅要学好vue,还应该学习其他相关的前端技术和工具,如JavaScript、HTML、CSS、Webpack等。 4. 阅读优秀的项目代码:通过阅读开源项目或其他优秀的项目代码,学习其他开发者的设计思想和开发方式。 综上所述,掌握vue基本知识只是项目开发的一小部分,要写好一个项目还需要更多实践和相关技能的积累。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值