Vue3 框架基础随笔 (一)
VUE框架基础部分随笔
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。
Vue可以使用简单的代码实现一个单页面应用。
基本格式
Vue通过模板语法来声明式的将数据渲染进DOM:
例如:
<div id = "app">
{{ message }}
</div>
通过{{ }}即可将数据绑定至message位置
<script>
const data = {
data(){
return {
message : 'hello Vue !'
}
}
} Vue.createApp(data).mount('#app')
</script>
通过以上方法即可成功创建一个Vue实例!
响应式框架
在一个Vue实例中所有数据都是响应式的{{}}中的数据会根据Vue实例中绑定的数据的实时变化发生改变。
Data中Created,methods,watch的区别
在一个Vue实例中,Vue为用户定义了五个函数执行区域,不同的区域在Vue生命周期的不同时间执行,因此可以用于不同情况。
<script>
const data = {
data(){
return {
message : 'hello Vue !'
}
},
methods: { },
mounted: {
}
watch: { },
create: { }
} Vue.createApp(data).mount('#app')
</script>
执行时间或作用:
created:在html加载完成之前执行 先执行父组。
件再执行子组件。
mounted:在html加载完成之后执行 先执行子组件再执行父组件。
methods:事件方法执行。
watch:监听一个值的变化,变化后执行。
指令
Vue中提供的特殊属性 包括:v-bind , v-on , v-model。
V-bind指令
v-bind 属性:通过此属性可以绑定元素中属性的值 借此实现属性的动态绑定。
例如:
vue代码:
<div id='app'>
<p v-bind:display='switch' >人生何处不相逢</p>
</div>
javascript代码:
<script>
const data = {
data(){
return {
switch: 'none'
}
}
}
</script> Vue.createApp(data).mount('#app')
</script>
以上代码即可实现动态控制<p>元素显示与隐藏。
V-on指令
v-on属性:通过此属性可以为元素添加一个事件监听器,来提高用户的交互
例如:
vue代码:
<div id='app'>
<buttomv-on:click='tijiao'' >提交</buttom>
</div>
javascript代码:
<script>
const data = {
data() {
return { }
}
methods: {
tijiao(){
//事件提交执行的函数
}
}
} Vue.createApp(data).mount('#app')
</script>
用户点击button按钮是 vue将会调用tijiao()函数。
V-model指令:
Vue 还提供了 v-model
指令,它能轻松实现表单输入和应用状态之间的双向绑定。
例如:
vue代码:
<div id="app">
<p>{{ message }}</p>
<input v-model="message" />
</div>
javascript代码:
const data = {
data() {
return {
message: '撑伞也是雨中人'
}
}
} Vue.createApp(data).mount('#app')
以上代码即可实现用户输入与元素的双向绑定。
V-if指令:
v-if指令的值绑定data中的元素的值true或false 来控制元素的显示或隐藏。
V-for指令:
v-for指令可以实现列表渲染。
例如:
vue代码:
<div id="app">
<ol>
<li v-for="todo in todos">
{{ todo.text }}
</li>
</ol>
</div>
javascript代码:
const data = {
data() {
return {
todos: [
{ text: '落日归山海' },
{ text: '陪伴成告白' }
]
}
}
} Vue.createApp(data).mount('#app')
构建一个组件化单页面应用
vue可以组件树的构建方式来实现一个应用程序。
通过把页面中的一部分分为不同组件实现组件化编程,提高代码的可维护性。
vue框架基本目录结构:
|--node_modules 已安装的依赖
|--public 目录存放公共资源文件 如image icon等
|--src |--assets 目录储存公共样式,图标等
|--components 目录储存自己编写的组件文件
|--router 目录存储页面路由规则
|--views 目录存放自己编写的页面
|--plugins 目录存放element等配置文件
|--app.vue 文件是页面的入口
|--main.js 文件是js文件的入口 你需要在这里把js文件引入进去
|--ststic 目录存放一些图片图标等静态资源
组件
app.vue文件默认结构:
<template>
<div id = 'app'>
项目主页
</div>
</template> <script>
data () {
return { }
}
</script> <style scoped>
</style>
main.js文件默认结构:
<script>
// 项目的入口文件 每次项目初始化都会加载此文件
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'
import axios from 'axios'
Vue.config.productionTip = false
axios.defaults.baseURL = ''
Vue.prototype.$http = axios
new Vue({
router,
render: h => h(App)
}).$mount('#app')
</script>
路由
通过 Vue-router 技术实现页面的路由。
vue代码
<template> <router-link to='/admin'>页面跳转</router-link> <router-view></router-view> </template>
javascript代码
//
// index.js 文件为编写路由的核心文件
//
import Vue from 'vue' // 引入vue
import VueRouter from 'vue-router' // 引入vue-router路由
import AboutMe from '../components/admin.vue' // 引入组件 <--
Vue.use(VueRouter) // Vue全局使用Router
const originalPush = VueRouter.prototype.push VueRouter.prototype.push = function push (location) {
return originalPush.call(this, location).catch(err => err)
} const routes = [ // 配置路由 这里是一个数组
{
path: '/admin',
name: 'admin',
component: admin
}
] const router = new VueRouter({
routes
}) export default router
下列代码实现路由 可以理解为html的<a>标签 。
<router-link to='/admin'>页面跳转</router-link>
将路由结果组件渲染到router-view中。
<router-view></router-view>
在vue应用程序中通常通过编写模块组件的方式由浅入深,自底向上的方式来实现一个大规模的应用程序。
下一篇继续了解:
1 . 使用vue创建多页面网站方法。
2 . 通过 Axios 技术发起http请求实现与后端接口的交互。
3 . 了解element-ui 组件便捷成型工具。
4 . vue-router深入理解。
16:08:46
本文章为作者个人总结,如有错误请指正。
Vue3 框架基础随笔 (一)的更多相关文章
- 如何基于Winform开发框架或混合框架基础上进行项目的快速开发
在开发项目的时候,我们为了提高速度和质量,往往不是白手起家,需要基于一定的基础上进行项目的快速开发,这样可以利用整个框架的生态基础模块,以及成熟统一的开发方式,可以极大提高我们开发的效率.本篇随笔就是 ...
- Java基础 随笔整理
Java基础随笔整理 为了方便阅读,特整理了相关的学习笔记 Java感想 操千曲而后晓声 Java入门 Java其他 Java虚拟机详解 语言入门百题 Java开发工具 · Eclipse Java语 ...
- Hibernatel框架基础使用
Hibernatel框架基础使用 1.简介 1.1.Hibernate框架由来 Struts:基于MVC模式的应用层框架技术 Hibernate:基于持久层的框架(数据访问层使用)! Spring:创 ...
- Struts2框架基础
Struts2框架基础 1.Java的框架 1.1.框架简介 在大型项目开发过程中,经常会使用到一些框架,这样做好的好处是能够提高工作效率,在java中最常用的的框架就是SSH,这其实是三个框架的简称 ...
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- 框架基础之Hibernate简介
框架基础之Hibernate简介 1.什么是Hibernate? Hibernate是一个开发源代码的对象关系映射框架,它对JDBC进行非常轻量级的对象封装,使得程序员可以随心所欲地使用对象编程思维来 ...
- ThinkPHP框架基础
ThinkPHP 一.php框架基础介绍 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维 ...
- Python云端系统开发入门——框架基础
Django框架基础 这是我学习北京理工大学嵩天老师的<Python云端系统开发入门>课程的笔记,在此我特别感谢老师的精彩讲解和对我的引导. 1.Django简介与安装 Django是一个 ...
- PHP面试(二):程序设计、框架基础知识、算法与数据结构、高并发解决方案类
一.程序设计 1.设计功能系统——数据表设计.数据表创建语句.连接数据库的方式.编码能力 二.框架基础知识 1.MVC框架基本原理——原理.常见框架.单一入口的工作原理.模板引擎的理解 2.常见框架的 ...
随机推荐
- 【LeetCode】85. Maximal Rectangle 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/maximal- ...
- 【LeetCode】522. Longest Uncommon Subsequence II 解题报告(Python)
[LeetCode]522. Longest Uncommon Subsequence II 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemin ...
- 前端项目 node8升级到node16,代码升级汇总
背景 公司的项目是vue项目,环境是node@8x版本的,最近我创建react hook的项目,发现至少需要node14才支持,打开官网才发现node都已经到16版本了.失策啊,失策.于是直接升级到最 ...
- uniapp与webview之间的相互传值
1.uni-app 如何发送数据到 H5? 其实很接单.在 web-view 中只需要通过 URL 就可以向 H5 进行传参 例如在 uni-app 中: <template> <v ...
- [opencv]approxDP多边形逼近获取四边形轮廓信息
#include "opencv2/opencv.hpp" #include <iostream> #include <math.h> #include & ...
- Java Web程序设计笔记 • 【第8章 会话跟踪技术进阶】
全部章节 >>>> 本章目录 8.1 Session机制 8.1.1 Session 简介 8.1.2 创建 HttpSession 实例 8.1.3 HttpSesiso ...
- 【MySQL作业】DDL 和 DML——美和易思使用 DML 删除表数据应用习题
点击打开所使用到的数据库>>> 删除客户"刘一鸣". 执行 SQL 代码"delete from customer where cName=' 刘一鸣 ...
- centos6.5-rsync+inotify
一.目的 通过监控192.168.3.10的目录,实现实时同步. 实验环境 centos1 192.168.3.10 centos2 192.168.3.11 二.配置 cen ...
- OpenIddict 登录及详细流程解析
GitHub上实例都是集成了Identity来实现,我这里去掉了相关东西,实现自定义的登录满足自己的结构要求 服务端配置添加数据库服务以及定时任务服务 builder.Services.AddDbCo ...
- 关于vue部署到nginx服务下,非根目录,刷新页面404的问题
如果在根目录则添加 try_files $uri $uri/ /index.html; 如果不在根目录则添加,格式如下 location /xxxx { try_files $uri $uri/ ...