首页 > 其他分享 >vue基础day01(MVVM、绑定、事件、结构模板)

vue基础day01(MVVM、绑定、事件、结构模板)

时间:2024-07-17 10:00:45浏览次数:15  
标签:控件 vue MVVM day01 绑定 视图 model click

vue基础

一、什么是vue

构建用户界面的渐进式框架,采用自底向上逐层应用开发

核心理念:数据驱动视图,组件化开发

二、框架和库的区别

框架:一套完整的解决方案,对项目的侵入性较大,项目如果需要更换框架,需要重新架构整个项目

库:提供了一个小的功能,对项目的侵入性较小,如果某个库无法完成某些需求,可以很容易切换到其他库实现需求。

三、MVC和MVVM的区别

MVC是后端分层开发的概念,一种设计模式Model-View-Controller

  • V-view(视图层):发送数据,展示数据
  • C-controller(调度层): 响应数据,返回数据
  • M-model(模型层):处理数据,与数据库交互

MVVM是前端视图层的概念,是View层的分离

  • V-view(视图层):展示数据
  • VM-vm-view-model(视图模型层):连接view和model,承上启下的作用
  • M-model(模型层):逻辑处理

四、vue代码结构

  1. 引入vue.js
  2. 书写视图层
  3. 创建实例
//引入vuejs,vue版本下载到本地,今后渐进学习中将不再使用,改用新方法
<script src='.vue.js'></>
//书写视图层
<div id='app'> </div>
//创建vue实例
let vm = new Vue({
  //控制区域
  el:"#app",
  //存放数据
  data: { 
  	src:'baidu.com'
  },
  //存放方法
  methods: {
    console.log(this)//vue实例
  //this.src获取到src属性
  }
})

五、{{}}/v-html/v-text

//差值表达式:将数据渲染到页面上,做简单运算
 {{msg+2}}  
//v-text   v-html
//相同点:都会替换标签内原有的内容
//不同:v-html会解析富文本,v-text不会
<div c-text='msg'>111</div>
<div v-html='msg'></div>
<div></div>

六、属性绑定和事件绑定

属性简写说明
v-bind:属性元素属性绑定,用于在该属性中取得data中的数据
v-on:事件类型@事件的绑定,用于获取methods中的方法@click=‘m’
v-model:value=‘h’v-model=‘h’双向绑定,页面和data中的数据保持同步(用于表单控件input)

双向绑定的原理:通过数据劫持结合发布者-订阅者模式的方式来实现,通过Object.defineProperty()来劫持各个属性的settergetter,在数据发生变动时,告诉订阅者是否要更新,执行对应的更新函数从而更新视图

七、事件

冒泡就是三个盒子嵌套,点击最里面的外面的也会触发

方法说明(可链式调用)代码
.stop阻止冒泡(从里往外),加了stop此控件不冒泡@click.stop=‘’
.capture捕获(从外往里),只会捕获当前控件,其他控件不变@click.capture=‘’
.self当事件在该元素本身触发时触发回调@click.self=‘’
.once事件只会触发一次@click.once=‘’
.prevent阻止默认事件@click.prevent=‘’

标签:控件,vue,MVVM,day01,绑定,视图,model,click
From: https://blog.csdn.net/qq_63032193/article/details/140470515

相关文章

  • 基于web的人力资源管理系统 毕业设计 springboot+Vue+mysql
    介绍在当今企业管理中,人力资源的有效管理对于组织的发展至关重要。为了提高人力资源管理的效率和准确性,我们开发了这个基于Web的人力资源管理系统。该系统旨在为企业提供一个全面、便捷、高效的人力资源管理平台,满足企业对人力资源规划、招聘、培训、绩效管理等方面的需求。......
  • 基于springboot的社区智慧养老监护管理平台 毕业设计 springboot+Vue+mysql
    介绍随着人口老龄化的加剧,养老服务的需求日益增长,传统的养老模式已经难以满足现代社会的需求。为了提供更高效、便捷、个性化的养老服务,我们开发了这个基于SpringBoot的社区智慧养老监护管理平台。该平台旨在整合社区养老资源,实现对老年人的全面监护和管理,提升养老服务的质......
  • 基于springboot的教师工作量管理系统 毕业设计 springboot+Vue+mysql
    介绍在教育领域,对教师工作量的准确评估和有效管理对于保障教学质量、合理分配资源以及激励教师积极性具有至关重要的意义。然而,传统的教师工作量管理方式往往依赖于手工记录和繁琐的统计,容易出现误差、效率低下且缺乏透明度。本基于SpringBoot的教师工作量管理系统旨在为......
  • vue3,生产环境,禁止调试输出(重写console的方式)
    如果你想在生产环境中直接重写console的方法以禁止其输出,你可以在你的主入口文件(通常是main.js或main.ts)中添加一些代码来实现这一点。但是,请注意,直接修改全局对象(如console)可能不是最佳实践,因为它可能会与其他库或框架产生冲突。然而,如果你确实想这样做,下面是一个简单的例子,说明......
  • vue3 | 通信组件之provide 与 inject实现兄弟组件通信
    一、vue3|通信组件之provide与inject实现兄弟组件通信 通过共同祖先组件使用provide与inject来提供和注入状态,从而实现兄弟组件通信的示例。例子:祖先组件提供了一个名为 sharedState 的响应式状态,并通过 provide 函数将其提供给所有子组件。ChildA 和 ChildB ......
  • vue 使用svg文件图片或者组件方式
    代码<template><!--svg使用--><divclass="box"><div><!--设置stylefill:ref方式可以直接修改svg颜色样式--><svgstyle="fill:red"xmlns="http://www.w3.org/2000/svg"......
  • vue3+TS从0到1手撸后台管理系统
    1.路由配置1.1路由组件的雏形src\views\home\index.vue(以home组件为例)1.2路由配置1.2.1路由index文件src\router\index.ts//通过vue-router插件实现模板路由配置import{createRouter,createWebHashHistory}from'vue-router'import{constantRoute}from'./route......
  • vue3 widthDefaults 设置props默认值
    测试代码<template><divclass="box"><div><i-ep-edit/></div><div><i-ep-chat-dot-round/></div><div><i-ep-close/></div></div></template><scriptl......
  • vue table 表格记录选中
    默认全部选中<el-table:data="tableParams.data"ref="multipleTable"v-loading="loadingTable"@select-all="handleSelectionAll"......
  • springboot+vue前后端分离项目-项目搭建13-树形表
    效果一、后端1.新建表category 2.新建entity,com/example/demo/entity/Category.java3.新建Mapper,com/example/demo/mapper/CategoryMapper.java 4.新建Controller,com/example/demo/controller/CategoryController.java主要代码逻辑如下,封装成List<Category>,前端结合......