- Vue<router-view></router-view>学习心得
立志成为架构师
vue.jsjavascripthtml
今天看到个Vue项目结构中使用到了,于是了解学习了用法。首先来看router下的index.jsexportdefaultnewRouter({mode:'history',routes:[{//首页跳转到/homepagepath:'/',redirect:'/homepage',name:'zhuye'},{//这是homepage页面的说明,说明使用的页面是homepage。其子页面是lis
- Vue3 - 解决报错警告 <router-view> can no longer be used directly inside <transition> or <keep-alive>.Use s
王二红
+Vue3vue3router-viewtransition动画过渡keep-alive缓存页面vue3出现警告提示详细解决写法没有错就是一直警告怎么办每次路由切换页面或刷新就提示
前言关于此问题网上的教程都无法解决,如果您的报错信息与我相似,即可解决。在vue3开发中,详解报错警告:[VueRouterwarn]:
- vue3开发:项目添加mitt
项目中遇到一个场景:类似于app.vue页面获取某一个页面组件的数据,因为进入那个组件是通过router-view进入,不是通过组件注入到app.vue,所以使用常规的组件通信获取不到数据,我使用了mitt实现了这个功能。Vue2中我们使用EventBus来实现跨组件之间的一些通信,它依赖于Vue自带的on/on/on/emit/$off等方法,而Vue3中移除了这些相关方法,这意味着EventB
- vue如何实现路由缓存
大宁宁吖
vue.js缓存前端
(以下示例皆是以vue3+vite+ts项目为例)场景一:所有路由都可以进行缓存在渲染路由视图对应的页面进行缓存设置,代码如下::用来渲染当前路由对应的视图。v-slot:解构router-view的插槽属性来访问当前路由的组件(Component)和路由对象(route)。:用于实现页面路由切换时的过渡动画效果,可省略。name="router-fade":定义过渡动画类名为router-fad
- Vue使用插槽封装tabbar 和使用router-view
senda66
vuevue
tabbar的封装思路tabbar1、定义tabbar组件2、定义tabbar-item组件定义tabbar组件思路:使用插槽exportdefault{name:'TabBar'}#tabbar{display:flex;background-color:#f6f6f6;position:fixed;left:0;right:0;bottom:0;box-shadow:0-1px5pxrgba(
- vue router-view报错解决
Saga Two
报错解决vue.jsjavascript前端
目录1报错内容2解决方案2.1检查版本2.1正确引入使用vue-router组件1报错内容我们在使用router-view组件的时候会遇到如下报错:报错内容如下:[Vuewarn]:Unknowncustomelement:-didyouregisterthecomponentcorrectly?Forrecursivecomponents,makesuretoprovidethe"name"op
- vue2 vue-router引入使用详解
Saga Two
vue基础进阶知识vue.js前端javascript
vue2vue-router使用详解1介绍2VueRouter的使用2.1安装2.2项目引入使用2.2.1创建路由文件2.2.2main.ts引入2.2.3App.vue配置2.2.4整体目录结构2.4使用方法2.4.1使用router-view进行页面视图切换2.4.2使用router-link进行页面跳转2.4.3路由重定向2.4.4路由传参2.5.5路由守卫3其他1介绍Vue很适合用来构建单
- router-view
丁先生_b64b
https://blog.csdn.net/luoyu6/article/details/80098145
- vue router 跳转php,vue路由:路由跳转后怎么知道切换到那个router-view中
weixin_39908106
vuerouter跳转php
应用场景首浏围开幸,业来很广例量站标闪择以近览着发次尝试用vue2.x重构传统页面。使用vueinitwebpackxxx创建项目友持都发很秀框事,应编差里互是过是来本商理类了如则处果。展,字到中图各近圈就不这多发架件大用程。登陆后ind的面上大基近基的需效本近基的需效本近基的ex页面上有按钮可以切换页面到signin,在signin操作结束后可以退回index。按我的理解应该有个上层页面提供,称
- 点击侧边栏菜单时只切换 <router-view> 中的内容,而不是进行整个页面的路由跳转(动态路由)
娃哈哈哈哈呀
vue.jselementuijavascript
解决方法:在的@select事件中调用了handleMenuSelect方法来处理菜单项的选择。你可以在handleMenuSelect方法中根据菜单项的index来执行相应的操作,例如更新组件内的数据或者切换组件。由于整个页面的路由路径并没有改变,因此不会触发整个页面的路由跳转,只会更新中的内容。这样就实现了只更新中内容的效果。home组件Header首页个人中心成绩管理人员管理exportde
- vue3学习——router-view 过渡动画
可乐KL
vue3学习前端vue3
虽然vue3说建vue页面不用包裹一个根节点,但是transition不能没有唯一的标签所以还是得包一层~o( ̄▽ ̄)o.el-main{/*渐变设置*/.MainFade-enter-from,.MainFade-leave-to{transform:translateX(20px);opacity:0;}.MainFade-enter-to,.MainFade-leave-from{opaci
- router路由跳转的两种模板
用键盘当武器的秋刀鱼
java前端服务器
link:链接,联系view:指看见展现在人们面前的、可以稳定地进行详细审视的事物将语境拉回到router里,抽象概括一下router-link就是一个强化版的a标签与button标签的结合,用来跳转router-view就是一个加强版的div标签,用来呈现这个是router-view的那么link呢?我说了,他就是一个强化版的a标签,a标签怎么用,link标签就怎么用a标签不是要有href属性才
- 第三十三节:Vue路由:Vue-router路由跳转方式
时光如剑
前沿:上一小节,在讲路由安装与基本使用的时候,已经提及和使用过的,通过内置的组件进行路由的跳转出了这种跳转路由的方式外还有其他的跳转方式吗?1.通过标签进行路由跳转1.1标签跳转路由的方式VueRouter提供了两个内置的组件帮助我们进行路由的跳转使用方式:首页列表关于作者示例代码:首页列表页关于作者查看router-link以及router-view渲染结果标签跳转路由_图1.png结果说明:r
- 对于<router-view>标签的理解
陌一一
web前端开发前端javascriptvue.js前端框架开发语言
的含义::路由容器Vue路由中的是用来承载当前级别下的子级路由的一个视图标签;此标签的作用就是显示当前路由级别下一级的页面。的作用:就比如说App.vue是根组件,在它的标签里使用,而且配置好路由的情况下,就能在浏览器上显示子组件的效果;子组件要想在页面中显示出来,一定要留好容器,不然显示不出来;如果这个子组件路由还有孩子路由,那也需要在子组件的标签里使用,这样就能在页面上显示子组件的孩子组件的效
- vue-router 嵌套路由
IT行星
vue.js前端javascript
一、子路由的创建1.我们使用嵌套路由之前一定要确定在哪个路由下进行嵌套2.确定好之后,找到对应路由的文件,在指定的位置写入router-view标签3.去router文件夹下找到index.js文件,在定义组件中找到我们想进行嵌套的路由4.在其中添加children属性,绑定的是数组,数组里边定义新的子路由如以下代码,就定义了path为/list的路由的子路由importVuefrom'vue';
- 【Vue3】解决路由缓存问题(响应路由参数的变化)
小秀_heo
Vue缓存
官方文档解释:解决问题的思路:让组件实例不复用,强制销毁重建监听路由变化,变化之后执行数据更新操作方案一:给router-view添加key以当前路由完整路径为key的值,给router-view组件绑定所以添加key之后会强制替换组件,重新发送所有请求(某些情况下不需要重新发送所有请求,会造成性能浪费),而非复用。方案二:使用beforeRouteUpdate导航钩子beforeRouteUpd
- Vue中路由的使用
厂里英才
Vuevuevue-router
目录1作用2使用方法2.1安装路由2.2创建路由并导出2.3在应用实例中使用vue-router2.4声明router-view,展示组件内容2.5页面跳转3补充内容-子路由1作用能够按不同的访问路径,展示不同组件的内容。2使用方法2.1安装路由在项目的终端或者路径下的命令提示符窗口中,写入以下命令(其中的4是指版本为4):npminstallvue-router@42.2创建路由并导出①在src
- router-view 小坑一波
myzony
不设置router-view的key属性由于Vue会复用相同组件,即/page/1=>/page/2或者/page?id=1=>/page?id=2这类链接跳转时,将不在执行created,mounted之类的钩子,这时候你需要在路由组件中,添加beforeRouteUpdate钩子来执行相关方法拉去数据。相关钩子加载顺序为:beforeRouteUpdate设置router-view的key属性
- vue3页面跳转产生白屏,刷新后能正常展示的解决方案
不爱吃饭爱吃菜
vue.js
可以依次检查以下问题:1.是否在根组件标签最外层包含了个最大的div盒子包裹内容。2.看看是否在template标签下面直接有注释,如果有需要把注释写到div里面。(即根标签下不要直接有注释)3.在router-view中给路由添加key标识。!!注意:有使用layout封装布局的,是在layout下的主页面中的router-view添加标识,不是在src根目录下main.vue中修改(在这个文件
- vue同路由跳转页面不刷新的解决方案
谢炳南
场景:使用router-view时,如果在相同路由之间跳转,默认在跳转路由时会采用缓存策略,并不会刷新当前路由组件。即mounted,beforeDestory等钩子函数并不会触发第一种解决:给router-view设置一个唯一值key,跳转时,传入不同的query参数即可第二种//在watch函数中监听路由变化watch:{'$route':function(){//重新新页面的数据信息}},
- router-link和router-view
未来在奋斗
router-link标签//vue内置标签在渲染时渲染成a标签在点击的情况路由中的页面在标签中渲染to属性可以跳转页面tag="button"属性可以渲染成想要的原生标签router-view标签写在组件想要渲染的地方,等组件跳转过来就渲染路由的参数传递//active-class="active"改变他动态添加的名字//replace不能返回直接写在标签内默认事pushState可以返回首页关
- Vue关于router-view的使用和部分代码
- 瑾♛年
vue.js前端javascript
//一般情况可能就的写法,但是还有像的写法,然后展示其中的数据和内容,简称视图//那么他们的区分首先vue-router里面对应的js文件的命名有很大区别components:{//渲染命名视图side:SideBar,default:Home,},//这里default就是默认的意思,就是对应的路径的原本内容,而side是对应里面的内容展示,所以他们是俩个不同的vue文件展示的内容//当然如果没
- vue中keep-alive的理解和使用
小玲子小玲子
vue.js前端keep-alive
简要说明:keep-alive:保留状态。在项目中我们经常将keep-alive和router-view结合使用,实现切换路由后仍然保留之前的路由页面的状态,路由切换回来后不会重新初始化,而是保留之前的状态。但keep-alive是vue本身提供的组件,而并非vue-router提供。它支持对普通组件和路由组件的缓存。实现原理:keep-alive实现原理是:渲染一个组件时,根据组件(通过cons
- Vue Router的基本使用、router-link以及router-link-active
内师-ZT
vuevue.js前端javascript前端框架
vuerouter三级目录1、下载router2、router基本配置3、路由规则设置3、案例演示4、router-view和router-link5、router-link-active和router-link-exact-active三级目录1、下载router在Vue中,可以使用VueRouter来实现路由功能。VueRouter是Vue.js官方提供的一个插件,用于实现前端的路由管理。使用
- vue嵌套路由,二级路由使用介绍
Misnice
vuevue嵌套路由vue二级子路由vue二级路由跳转vue路由vue二级路由
vue-router嵌套路由,二级子路由项目中如果都是一级路由,路由管理会有些乱。嵌套路由是路由中包含路由的意思,组件中可以有自己的路由导航和路由容器(router-link、router-view),通过配置children可实现多层嵌套,在vue组件中使用就可以了。1.嵌套路由的使用场景当项目中有选项卡时,切换选项卡按钮,页面中间部分的内容会变,但是选项卡按钮不会变;页面中间部分内容的变化就可
- Vue-router切换路由使用Transition达到过渡效果
躺平阿福
工作记录vue.jsjavascript前端
router-view所在的组件代码结构过渡效果样式//.fade.fade-enter-active,.fade-leave-active{transition:opacity0.5sease;}.fade-enter-from,.fade-leave-to{opacity:0;}
- vue中 router-view绑定key的原因
领带衬有黄金
不设置router-view的key属性由于Vue会复用相同组件,即/page/1=>/page/2或者/page?id=1=>/page?id=2这类链接跳转时,将不在执行created,mounted之类的钩子,这时候你需要在路由组件中,添加beforeRouteUpdate钩子来执行相关方法拉去数据相关钩子加载顺序为:beforeRouteUpdate设置router-view的key属性值
- 如何实现网页当前页面刷新功能
EntyIU
web前端
类似于这样的页面实现思路如下:首先我们在pinia中定义一个刷新状态的字段,点击按钮的时候,改为相反的值对主页面的路由跳转Router-view绑定一个v-if,它绑定一个自定义的一个响应的参数,我们在主页面监听pinia的刷新状态数据,如果它发生变化,就把定义的响应参数改为false,那么对应的路由组件就会销毁,当销毁完成,dom重新生成完成后,再把响应状态改为true,这样组件就会重新创建,实
- vite打包vue2 history路由模式的的项目部署线上后<router-view />页面显示空白,命令行也不报错,本地是没有问题的
前端碎碎念
报错github
如题,本地畅通无阻,但是部署到服务器上就无法访问,本地是localhost://login可以访问到,但是因为我这里所有前端项目有一个路由映射,相当于是一个二级路由,导致线上路由出错,所以给路由加一个base就可以。每个人情况不同,酌情参考!!当然还要注意自己项目的nginx配置。我这种情况下的解决方案:constrouter=newVueRouter({mode:'history',base:'
- vue中实现锚点定位功能
&ACE&
vue.jsjavascript前端
在Vue中实现锚点定位功能可以通过使用<router-link>和<router-view>结合路由的方式来实现。首先,在使用<router-link>时,可以通过设置to属性来指定锚点的位置。例如:Section1Section2然后,在使用<router-view>时,在需要锚点定位的位置添加id属性,与<router-link>中的to属性相对应。例如:Sect
- 对于规范和实现,你会混淆吗?
yangshangchuan
HotSpot
昨晚和朋友聊天,喝了点咖啡,由于我经常喝茶,很长时间没喝咖啡了,所以失眠了,于是起床读JVM规范,读完后在朋友圈发了一条信息:
JVM Run-Time Data Areas:The Java Virtual Machine defines various run-time data areas that are used during execution of a program. So
- android 网络
百合不是茶
网络
android的网络编程和java的一样没什么好分析的都是一些死的照着写就可以了,所以记录下来 方便查找 , 服务器使用的是TomCat
服务器代码; servlet的使用需要在xml中注册
package servlet;
import java.io.IOException;
import java.util.Arr
- [读书笔记]读法拉第传
comsci
读书笔记
1831年的时候,一年可以赚到1000英镑的人..应该很少的...
要成为一个科学家,没有足够的资金支持,很多实验都无法完成
但是当钱赚够了以后....就不能够一直在商业和市场中徘徊......
- 随机数的产生
沐刃青蛟
随机数
c++中阐述随机数的方法有两种:
一是产生假随机数(不管操作多少次,所产生的数都不会改变)
这类随机数是使用了默认的种子值产生的,所以每次都是一样的。
//默认种子
for (int i = 0; i < 5; i++)
{
cout<<
- PHP检测函数所在的文件名
IT独行者
PHP函数
很简单的功能,用到PHP中的反射机制,具体使用的是ReflectionFunction类,可以获取指定函数所在PHP脚本中的具体位置。 创建引用脚本。
代码:
[php]
view plain
copy
// Filename: functions.php
<?php&nbs
- 银行各系统功能简介
文强chu
金融
银行各系统功能简介 业务系统 核心业务系统 业务功能包括:总账管理、卡系统管理、客户信息管理、额度控管、存款、贷款、资金业务、国际结算、支付结算、对外接口等 清分清算系统 以清算日期为准,将账务类交易、非账务类交易的手续费、代理费、网络服务费等相关费用,按费用类型计算应收、应付金额,经过清算人员确认后上送核心系统完成结算的过程 国际结算系
- Python学习1(pip django 安装以及第一个project)
小桔子
pythondjangopip
最近开始学习python,要安装个pip的工具。听说这个工具很强大,安装了它,在安装第三方工具的话so easy!然后也下载了,按照别人给的教程开始安装,奶奶的怎么也安装不上!
第一步:官方下载pip-1.5.6.tar.gz, https://pypi.python.org/pypi/pip easy!
第二部:解压这个压缩文件,会看到一个setup.p
- php 数组
aichenglong
PHP排序数组循环多维数组
1 php中的创建数组
$product = array('tires','oil','spark');//array()实际上是语言结构而不 是函数
2 如果需要创建一个升序的排列的数字保存在一个数组中,可以使用range()函数来自动创建数组
$numbers=range(1,10)//1 2 3 4 5 6 7 8 9 10
$numbers=range(1,10,
- 安装python2.7
AILIKES
python
安装python2.7
1、下载可从 http://www.python.org/进行下载#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2、复制解压
#mkdir -p /opt/usr/python
#cp /opt/soft/Python-2
- java异常的处理探讨
百合不是茶
JAVA异常
//java异常
/*
1,了解java 中的异常处理机制,有三种操作
a,声明异常
b,抛出异常
c,捕获异常
2,学会使用try-catch-finally来处理异常
3,学会如何声明异常和抛出异常
4,学会创建自己的异常
*/
//2,学会使用try-catch-finally来处理异常
- getElementsByName实例
bijian1013
element
实例1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/x
- 探索JUnit4扩展:Runner
bijian1013
java单元测试JUnit
参加敏捷培训时,教练提到Junit4的Runner和Rule,于是特上网查一下,发现很多都讲的太理论,或者是举的例子实在是太牵强。多搜索了几下,搜索到两篇我觉得写的非常好的文章。
文章地址:http://www.blogjava.net/jiangshachina/archive/20
- [MongoDB学习笔记二]MongoDB副本集
bit1129
mongodb
1. 副本集的特性
1)一台主服务器(Primary),多台从服务器(Secondary)
2)Primary挂了之后,从服务器自动完成从它们之中选举一台服务器作为主服务器,继续工作,这就解决了单点故障,因此,在这种情况下,MongoDB集群能够继续工作
3)挂了的主服务器恢复到集群中只能以Secondary服务器的角色加入进来
2
- 【Spark八十一】Hive in the spark assembly
bit1129
assembly
Spark SQL supports most commonly used features of HiveQL. However, different HiveQL statements are executed in different manners:
1. DDL statements (e.g. CREATE TABLE, DROP TABLE, etc.)
- Nginx问题定位之监控进程异常退出
ronin47
nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。
1. 在error.log中查看是否有signal项,如果有,看看signal是多少。
比如,这是一个异常退出的情况:
$grep signal error.log
2012/12/24 16:39:56 [alert] 13661#0: worker process 13666 exited on s
- No grammar constraints (DTD or XML schema).....两种解决方法
byalias
xml
方法一:常用方法 关闭XML验证
工具栏:windows => preferences => xml => xml files => validation => Indicate when no grammar is specified:选择Ignore即可。
方法二:(个人推荐)
添加 内容如下
<?xml version=
- Netty源码学习-DefaultChannelPipeline
bylijinnan
netty
package com.ljn.channel;
/**
* ChannelPipeline采用的是Intercepting Filter 模式
* 但由于用到两个双向链表和内部类,这个模式看起来不是那么明显,需要仔细查看调用过程才发现
*
* 下面对ChannelPipeline作一个模拟,只模拟关键代码:
*/
public class Pipeline {
- MYSQL数据库常用备份及恢复语句
chicony
mysql
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。
mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > ba
- 小白谈谈云计算--基于Google三大论文
CrazyMizzz
Google云计算GFS
之前在没有接触到云计算之前,只是对云计算有一点点模糊的概念,觉得这是一个很高大上的东西,似乎离我们大一的还很远。后来有机会上了一节云计算的普及课程吧,并且在之前的一周里拜读了谷歌三大论文。不敢说理解,至少囫囵吞枣啃下了一大堆看不明白的理论。现在就简单聊聊我对于云计算的了解。
我先说说GFS
&n
- hadoop 平衡空间设置方法
daizj
hadoopbalancer
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value>
<description&g
- Eclipse程序员要掌握的常用快捷键
dcj3sjt126com
编程
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可以那么勤奋,每天都孜孜不倦得
- Android学习之路
dcj3sjt126com
Android学习
转自:http://blog.csdn.net/ryantang03/article/details/6901459
以前有J2EE基础,接触JAVA也有两三年的时间了,上手Android并不困难,思维上稍微转变一下就可以很快适应。以前做的都是WEB项目,现今体验移动终端项目,让我越来越觉得移动互联网应用是未来的主宰。
下面说说我学习Android的感受,我学Android首先是看MARS的视
- java 遍历Map的四种方法
eksliang
javaHashMapjava 遍历Map的四种方法
转载请出自出处:
http://eksliang.iteye.com/blog/2059996
package com.ickes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
* 遍历Map的四种方式
- 【精典】数据库相关相关
gengzg
数据库
package C3P0;
import java.sql.Connection;
import java.sql.SQLException;
import java.beans.PropertyVetoException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DBPool{
- 自动补全
huyana_town
自动补全
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&quo
- jquery在线预览PDF文件,打开PDF文件
天梯梦
jquery
最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了。
核心代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
- ViewPager刷新单个页面的方法
lovelease
androidviewpagertag刷新
使用ViewPager做滑动切换图片的效果时,如果图片是从网络下载的,那么再子线程中下载完图片时我们会使用handler通知UI线程,然后UI线程就可以调用mViewPager.getAdapter().notifyDataSetChanged()进行页面的刷新,但是viewpager不同于listview,你会发现单纯的调用notifyDataSetChanged()并不能刷新页面
- 利用按位取反(~)从复合枚举值里清除枚举值
草料场
enum
以 C# 中的 System.Drawing.FontStyle 为例。
如果需要同时有多种效果,
如:“粗体”和“下划线”的效果,可以用按位或(|)
FontStyle style = FontStyle.Bold | FontStyle.Underline;
如果需要去除 style 里的某一种效果,
- Linux系统新手学习的11点建议
刘星宇
编程工作linux脚本
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。
一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linu
- hibernate dao层应用之HibernateDaoSupport二次封装
wangzhezichuan
DAOHibernate
/**
* <p>方法描述:sql语句查询 返回List<Class> </p>
* <p>方法备注: Class 只能是自定义类 </p>
* @param calzz
* @param sql
* @return
* <p>创建人:王川</p>
* <p>创建时间:Jul