前端组件

Vue路由守卫之组件内路由守卫

牧云@^-^@ 提交于 2019-11-29 11:20:31
​ beforeRouteEnter,进入路由前。需要注意这里不能使用this,因为我们使用的是进入路由之前,那会组件还没创建,得不到this这个属性,所有我们只能使用过vm异步语句来让节点上树; <script> export default { data(){ return{ num : 10 } }, beforeRouteEnter:(to,from,next)=>{ next(vm=>{ alert(vm.num) }) }, ​ } </script>    运行后可以看到,在使用beforeRouteEnter,使用的vm异步语句得到 beforeRouteLeave:离开路由之前可以被调用,可以访问里面的this属性! <script> export default { data(){ return{ num : 10 } }, beforeRouteLeave (to, from, next) { if(confirm('确定离开吗?') === true){ next() }else{ next('aa') } } } </script>    运行后可以看到,使用beforeRouteLeave(离开路由之前),系统会询问是否要离开,点击取消系统不会跳转,点击确定之后系统才会跳转离开。所以我们可以在离开路由之前做一些事情; 为大家奉上导航守卫完整的解析流程

前端面试题

六眼飞鱼酱① 提交于 2019-11-29 08:36:47
Vue: 一、MVVM模式与MVC模式的区别 MVVM即Model-View-ViewModel。 它是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应到View上。 Vue是以数据为驱动的,Vue自身将DOM和数据进行绑定,一旦创建绑定,DOM和数据将保持同步,每当数据发生变化,DOM会跟着变化。 ViewModel是Vue的核心,它是Vue的一个实例。Vue实例时作用域某个HTML元素上的,这个HTML元素可以是body,也可以是某个id所指代的元素。 DOM Listeners和Data Bindings是实现双向绑定的关键。DOM Listeners监听页面所有View层DOM元素的变化,当发生变化,Model层的数据随之变化;Data Bindings监听Model层的数据,当数据发生变化,View层的DOM元素随之变化。 MVC即Model-View-Controller MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。 二、v-show与v-if的区别

Ambari加密显示组件配置文件中设置的密码数据

◇◆丶佛笑我妖孽 提交于 2019-11-29 06:27:50
文章目录 组件在Ambari页面属性加密显示设置 组件在Ambari页面属性加密显示设置 在Ambari页面,对于自定义组件,在ADVANCED中显示组件配置文件中的内容时,特别是密码时,明文显示,未加密,该过程就是记录如何设置,使Ambari前端显示自定义组件输入密码时加密显示。 找到组件密码对应的xml文件,一般ADVANCED下面Advanced开头的区域对应该组件configuration中的xml文件; 再进入对应的xml文件,找到对应的name; 在property内添加如下内容,使组件安装时加密显示,安装完成后加密显示; < value-attributes > < type > password </ type > < overridable > false </ overridable > </ value-attributes > 来源: https://blog.csdn.net/Happy_Sunshine_Boy/article/details/100540727

Day16:物品显示组件的设计等

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-29 04:59:12
今日完成的工作 : 1.创建组件文件夹components,设计连接数据库后的首页物品显示,使用的依然是组件 获取方法: 2.使用表单组件form尝试submit 但尚未解决err 明日计划 : 1.能从数据库中调取goods信息(目前实现了显示在console中)。 2.完成除图片以外的物品详情的显示。(图片url还未处理) 每日小结 : 后端大致完成后现在最棘手的主要矛盾转移到了前端,但是最后的最后,两台电脑还是没有连接成功。打算使用idea在各自电脑上调试,但发现导入后无法连接数据库,于是又换ij版本,重新配置,设置database。但依然存在包不存在的问题…现在的调试还是以相互传文件的缓慢方式进行… 来源: https://www.cnblogs.com/Askia/p/11455443.html

前端优化

谁都会走 提交于 2019-11-29 04:37:05
一、加载速度优化   精灵图   base64   iconfont替代图片   代码压缩   图片、视频压缩   cdn缓存    路由懒加载 原理:将每个组件都打成一个包,首页的大文件可以进行分批引入 实现:main.js中将所有的同步引入组件的方式改为异步引入组件,即: import Home from "pages/Home"改为const Home=()=>import("pages/Home")    二、运行效率优化    减少http请求----<keep-alive></keep-alive>   使用:     <keep-alive>     <router-view></router-view>     </keep-alive>   原理:使用keep-alive包裹的组件在创建之后不会经历销毁,给不用频繁请求数据的组件包裹   属性:include:包括,表示需要缓存的组件----include="a,b"  include="/a|b/"  include="["a","b"]"      exclude:除了,表示不需要缓存的组件,不能和include一起使用      max:最多可以缓存多少个组件   增加两个生命周期:     activated:进入该组件时触发,可以用来做数据的请求     deactivated:离开该组件时触发   

vue续集2

我的梦境 提交于 2019-11-29 03:14:39
1.前端路由 1.1为什么做单页面应用 (1)传统的开发方式 url改变后,立马发送请求,响应整个页面,有可能资源过多,传统开发会让前端的页面出现 “白屏” 用户体验不好 (2)SPA 单页面应用 : 锚点值的改变后,不会立刻发送请求,而是在某个合适的时机,发送ajax请求,局部改变页面中的数据,页面不立刻跳转用户体验好 1.2前端路由的原理 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!-- SPA : Single Page Application 前端路由 1.锚点值 监视 2.ajax获取动态的数据 3.核心点是锚点值的改变 前端中 vue|react|angular 都很适合做单页面应用 --> <a href="#/login">登录页面</a> <a href="#/register">注册页面</a> <div id="app"> </div> <script type="text/javascript"> // onhashchange 事件 url上的锚点数据(#/xxx改变) var oDiv = document.getElementById('app'); window.onhashchange =

vue续集1

你说的曾经没有我的故事 提交于 2019-11-29 02:41:08
1.vue组件 1.1局部组件的使用 var App = { tempalte:` <div class='app'></div>` }; //2.挂子 <App />单闭合 双闭合都可以 new Vue({ el:"#app", //用子 template:<App /> components:{ App } }) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{ padding: 0; margin: 0; } body{ color: #fff; } .main{ width: 100%; } .head{ width: 100%; height: 70px; background-color: purple; text-align: center; font-size: 20px; line-height: 70px; } .wrap{ width: 100%; height: 1200px; } .wrap .aside{ width: 30%; height: 1200px; background-color: green; float: left; } .wrap .content{ width: 70%;

一看就懂ReactJS

冷暖自知 提交于 2019-11-29 02:36:21
现在最热门的前端框架有AngularJS、React、Bootstrap等。自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了我,下面来跟我一起领略 ReactJS的风采吧~~ 章有点长,耐心读完,你会有很大收获哦~ 一、ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。由于 React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。所以,越来越多的人开始关注和使用,认为它可能是将来 Web 开发的主流工具。 ReactJS官网地址: http://facebook.github.io/react/ Github地址: https://github.com/facebook/react 二、对ReactJS的认识及ReactJS的优点 首先,对于React,有一些认识误区,这里先总结一下: React不是一个完整的MVC框架,最多可以认为是MVC中的V(View),甚至React并不非常认可MVC开发模式; React的服务器端Render能力只能算是一个锦上添花的功能,并不是其核心出发点

Ant Design Pro快速入门

会有一股神秘感。 提交于 2019-11-28 23:40:59
在上一篇文章中,我们介绍了如何构建一个Ant Design Pro的环境。 同时讲解了如何启动服务并查看前端页面功能。 在本文中,我们将简单讲解如何在Ant Design Pro框架下实现自己的业务功能。 目录结构浅谈 首先,我们来简单了解一下整个项目的目录结构及其中每个文件的功能。 一个完整的目录结构如下: 其中,关于业务功能的代码都在 src 文件夹下。 而 src 中本身又包含着很多的子文件夹。 其中,我们最常用的应该了 routes , services , models 以及 components 。 下面,我们来依次了解一下这四个文件夹的作用。 routes:每个路由对应的页面组件文件。主要定义具体页面的基本结构和内容。 services:用于与后台交互、发送请求等。 models:用于组件的数据存储,接收请求返回的数据等。 components:组件文件夹。每个页面可能是由一些组件组成的,对于一些相对通用的组件,建议将该组件写入components文件夹中,并在routes文件夹中的文件引入来使用。 其余的文件夹和文件功能和含义我们不再此处展开说明,但是会在后续使用过程中随时进行补充说明。 配置新的路由和菜单 在Ant Design Pro中,前端路由是通过react-router4.0进行路由管理的。 下面,我们将会讲解如下添加一个新的路由

前端-vue的配置和使用

霸气de小男生 提交于 2019-11-28 22:46:39
目录 插槽指令 Vue项目开发 环境 创建项目 pycharm运行Vue项目 项目目录介绍 main.js 组件 .vue 文件:模板(template) + 脚本(scpirt) + 样式(style) 前台路由的基本工作流程 配置全局样式文件 组件生命周期钩子 路由重定向 页面组件小组件综合案例:课程页 插槽指令 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>插槽指令</title> <style> body { font-size: 30px; } li:hover { color: orange; cursor: pointer; } .del:hover { color: red; } </style> </head> <body> <div id="app"> <p> <input type="text" v-model="info"> <button @click="add_msg">留言</button> <ul> <msg-tag :msg="msg" v-for="(msg, i) in msgs" :key="msg"> <!--template通过v-slot绑定子组件内部slot插槽标签的name属性值--> <template v-slot:del_btn> <span