当前位置: 首页 > news >正文

Vue 组件+es6箭头函数+路由

一、组件

1、让网页或局部页实现复用,包括js(vue)功能

组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素, Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展

2、基本语法(创建js文件)

//页面模板
var temp = `<template id="test"><div>页面内容</div></template>`
//创建一个组件
Vue.component("test",{template: temp,  //el:'#app'data: function(){return {  //model}
},
methods:{},//自定义属性,获取属性值---数组
props:['属性名1','属性名2']
})

3、例如登录功能

数据传递问题:

(1)当登陆成功:从当前页把数据传递给组件----用属性(父组件通过属性向子组件传参)

(2)组件执行完结果之后,再把数据回传回来(子组件通过按钮把数据回传给父组件)

使用组件:

(1)在父组件中引入子组件,导入js文件,并使用test标签

index.html(04vue)

<div id="app"><h2>组件</h2><test></test>
</div>
<script src="js/vue.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/test.js" type="text/javascript" charset="utf-8"></script>

(2)用自定义属性从父组件传递给子组件

父组件:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><div id="app"><h2>组件</h2>//利用子组件自定义属性传参<test msg="输入姓名"></test></div><script type="text/javascript" src="js/vue.min.js" charset="UTF-8"></script>//引入子组件.js<script type="text/javascript" src="js/test1.js" charset="UTF-8"></script><script type="text/javascript">var vm = new Vue({el:'#app',data:{}})</script></body>
</html>

子组件:

//创建页面模板
var temp = `<template id="test"><div>{{msg}}<input v-model="name" /><button type="button" @click='testres()'>测试</button></div></template>`
//创建组件
Vue.component("test",{template:temp,data:function(){return{//属性写namename: ''}},methods:{},//自定义属性props:['msg']
})

(3)从子组件回传数据给父组件

基于事件监听---自定义事件(自定义命名)

父组件自定义事件及方法

父组件:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><div id="app"><h2>组件</h2><!-- 父组件自定义事件 @myevent=""相当于一个接收器 --><test msg="输入姓名" @myevent="acceptres"></test><hr ><!-- 子组件传过来的数据显示的位置 --><span>{{info}}</span></div><script type="text/javascript" src="js/vue.min.js" charset="UTF-8"></script><script type="text/javascript" src="js/test1.js" charset="UTF-8"></script><script type="text/javascript">var vm = new Vue({el:'#app',data:{info:''},methods:{//接收器acceptres(res){this.info=res}}})</script></body>
</html>

子组件:

//创建页面模板
var temp = `<template id="test"><div>{{msg}}<input v-model="name" />				<button type="button" @click='testres()'>测试</button></div></template>`
//创建组件
Vue.component("test",{template:temp,data:function(){return{//属性写namename: ''}},methods:{//给父组件回传消息  "父组件自定义的事件名"  "回传信息"testres(){this.$emit('myevent',this.name)}},//自定义属性props:['msg']
})

二、es6箭头函数

顶替了匿名函数,方便使用this

function(){    //使用this是指向当前这个类,就不能指向当前的vue了,所以使用vm参数

//代码

}

箭头函数--表达式

()=>{}

若只有一个参数,可以省略小括号

若只有一行代码,可以省略大括号和return

三、路由

1、路由技术的实现

路由---组件和路径的结合---相当于自定义的超链接

1.1创建route---路由(实现整个项目的导航)---对应一个路径--->组件

{path:'路径', component: 组件(完成页面的样式和功能)}

1.2创建路由数组routes----配置很多的路由

[{路由1},{路由2},{路由3}]

1.3创建router---路由器

<router-view>----加载路由[组件]的容器

<div id="app">
<a href="#/login">登录</a><a href="#/register">注册</a>
<router-view></router-view>
</div>
router-link---方式
<router-link to="/login">登录</router-link>
<router-link to="/register">注册</router-link>

1.4 路由传参

2.1query方式

to="/login?uid=101&upwd=101"

$route.query.xxx

2.2params方式

rest风格

{path:'/register/:uid/:upwd', component: register}

to="/login/101/admin"

$route.params.xxx

创建路由的过程:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title></head><body><div id="app"><router-link to="/reg?aid=101">注册</router-link><router-link to="/log/a107">登录</router-link><!-- 连接会加载到这里 --><router-view></router-view></div><script src="js/vue.min.js" type="text/javascript" charset="utf-8"></script><script src="js/vue-router.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">//创建组件/*{{$route.query.aid}}取出请求路径 数据传参(参数获取机制 */var reg = {template:`<h2>注册{{$route.query.aid}}<h2/>`}var log ={template:`<h2>登录{{$route.params.uid}}<h2/>`}//创建路由数组var routes= [{path:'/reg',component:reg}, //路由{path:'/log/:uid',component:log}]//创建路由器var router = new VueRouter({routes})//创建VUEvar vm = new Vue({el: '#app',router})</script></body>
</html>

相关文章:

Vue 组件+es6箭头函数+路由

一、组件 1、让网页或局部页实现复用&#xff0c;包括js&#xff08;vue&#xff09;功能 组件&#xff08;Component&#xff09;是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素&#xff0c;封装可重用的代码。在较高层面上&#xff0c;组件是自定义元素&#xff0c; …...

Clickhouse学习笔记(5)—— ClickHouse 副本

Data Replication | ClickHouse Docs 副本的目的主要是保障数据的高可用性&#xff0c;即使一台 ClickHouse 节点宕机&#xff0c;那么也可以从其他服务器获得相同的数据 注意&#xff1a; clickhouse副本机制的实现要基于zookeeperclickhouse的副本机制只适用于MergeTree f…...

ELMo模型、word2vec、独热编码(one-hot编码)的优缺点进行对比

下面是对ELMo模型、word2vec和独热编码&#xff08;one-hot编码&#xff09;的优缺点进行对比&#xff1a; 独热编码&#xff08;One-hot Encoding&#xff09;&#xff1a; 优点&#xff1a; 简单&#xff0c;易于理解。适用于词汇表较小的场景。 缺点&#xff1a; 高维度…...

FFmpeg简介1

适逢FFmpeg6.1发布&#xff0c;准备深入学习下FFmpeg&#xff0c;将会写下系列学习记录。 在此列出主要学习资料&#xff0c;后续再不列&#xff0c;感谢这些大神的探路和分享&#xff0c;特别是雷神&#xff0c;致敬&#xff01; 《FFmpeg从入门到精通》 《深入理解FFmpeg》 …...

Optimal Multimodal Travelway Design for an Urban Street Network

方法 作者未提供代码...

2352 智能社区医院管理系统JSP【程序源码+文档+调试运行】

摘要 本文介绍了一个智能社区医院管理系统的设计和实现。该系统包括管理员、护工和医生三种用户&#xff0c;具有社区资料管理、药品管理、挂号管理和系统管理等功能。通过数据库设计和界面设计&#xff0c;实现了用户友好的操作体验和数据管理。经过测试和优化&#xff0c;系…...

高教社杯数模竞赛特辑论文篇-2023年B题:多波束测线布设(附获奖论文及MATLAB代码实现)(续)

目录 5.3.3 模拟退火对测线布设仿真检验 5.3.4 开角、坡度的灵敏度分析...

【fast2021论文导读】 Learning Cache Replacement with Cacheus

文章:Learning Cache Replacement with Cacheus 导读摘要: 机器学习的最新进展为解决计算系统中的经典问题开辟了新的、有吸引力的方法。对于存储系统,缓存替换是一个这样的问题,因为它对性能有巨大的影响。 本文第一个贡献,确定了与缓存相关的特征,特别是,四种工作负载…...

在 React 中选择使用 JSX 或 JavaScript

在 React 中选择使用 JSX 或 JavaScript JSX vs. JavaScriptReact Component Lifecycle JSX 是 React 最常用的语法之一&#xff0c;它允许我们在 HTML 中嵌入 JavaScript 语句和表达式。但是&#xff0c;如果我们不需要 JSX 又该怎么办呢&#xff1f;让我们一起来了解一下 J…...

Halcon WPF 开发学习笔记(4):Halcon 锚点坐标打印

文章目录 专栏前言锚点二次开发添加回调函数辅助Model类 下集预告 专栏 Halcon开发 博客专栏 WPF/HALCON机器视觉合集 前言 Halcon控件C#开发是我们必须掌握的&#xff0c;因为只是单纯的引用脚本灵活性过低&#xff0c;我们要拥有Halcon辅助开发的能力 锚点开发是我们常用的…...

【从0到1设计一个网关】性能优化---使用Disruptor提供缓冲区

文章目录 什么是缓冲区队列Disruptor高性能的原因Disruptor实战注:学习这篇文章之前推荐先对Disruptor的使用有了解,否则我的代码中即使有非常详细的注释你也并不能理解这些注释的作用,以及为什么我要需要这样子编写代码。 同时,这将会是网关系列最后一篇文章,由于文章写的…...

Redis 特殊数据类型

目录 1、redis地理空间(GEO) 2、redis基数统计(HyperLogLog) 3、redis位图(bitmap) 4、redis位域bitfield) 5、redis流(Stream) 1、redis地理空间(GEO) Redis 的地理空间数据结构&#xff08;GEO&#xff09;可以用于存储地理位置信息&#xff0c;并支持附近位置搜索等功能…...

【Windows网络编程】二.TCP套接字编程与主机上线实验

API&#xff1a; socket&#xff1a; 套接字函数创建绑定到特定传输服务提供程序的套接字。 函数原型&#xff1a;SOCKET WSAAPI socket([in] int af,[in] int type,[in] int protocol );参数&#xff1a; af&#xff1a;地址规范系列&#xff1a; AF_INET&#xff1a;IPv4&…...

Qt 事件循环

引出 UI程序之所叫UI程序&#xff0c;是因为需要与用户有交互&#xff0c;用户交互一般是通过鼠标键盘等的输入设备&#xff0c;那UI程序就需要有能随时响应用户交互的能力。 一个C程序的main函数大概是下面这样&#xff1a; int main() {...return 0; } 我们如何使程序能随…...

【趣味随笔】YOLO的“进化史”极简版(YOLO v1-->YOLOP)

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…...

Leetcode421. 数组中两个数的最大异或值

Every day a Leetcode 题目来源&#xff1a;421. 数组中两个数的最大异或值 解法1&#xff1a;贪心 位运算 初始化答案 ans 0。从最高位 high_bit 开始枚举 i&#xff0c;也就是 max⁡(nums) 的二进制长度减一。设 newAns ans 2i&#xff0c;看能否从数组 nums 中选两个…...

SPRINGBOOT整合CXF发布WEB SERVICE和客户端调用(用户和密码验证)

主要分为客户端和服务端 服务端 pom配置 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.3</version><relativePath/> <!-- lookup parent fro…...

代码随想录训练营Day5:哈希数组

算是哈希的容器&#xff1a;数组&#xff08;适合连续存放&#xff09;&#xff1b;set&#xff0c;map&#xff08;适合无序存放&#xff09;。所以数组操作就是hash[i];而set,map.insert(元素)&#xff0c;map可以map[]是因为map存放了键值对可以索引查找。关于几个数组相加等…...

腾讯云3年轻量2核2G4M和2核4G5M服务器540元三年

腾讯云轻量应用服务器特价是有新用户限制的&#xff0c;所以阿腾云建议大家选择3年期轻量应用服务器&#xff0c;一劳永逸&#xff0c;免去续费困扰。腾讯云轻量应用服务器3年可以选择2核2G4M和2核4G5M带宽&#xff0c;3年轻量2核2G4M服务器540元&#xff0c;2核4G5M轻量应用服…...

程序员的护城河:职业发展的关键元素

目录 1. 技术深度与广度 2. 项目经验与实际操作 3. 沟通与团队协作 4. 持续学习与自我更新 5. 社区参与与开源贡献 6. 创新思维与解决问题的能力 7. 职业规划与自我管理 结语 在科技日新月异的今天&#xff0c;程序员的竞争已经不再仅仅依赖于技术水平&#xff0c;而是…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...