在router.js这样写。但用编程式路由的时候
暴露方式的不同,引入也就不一样:
const getData=function(){
console.log(1)}
export { getData}与 export function getData(){
console.log(‘datas')
}这两种形式使用 import {getData} from 'index.js'引入
export default getData
使用 import getData from ’index.js'引入
egg中 查询一条记录:用get const post = await this.app.mysql.get('posts', { id: 12 });
查询全表:用select const results = await this.app.mysql.select('posts');
鉴权--
session保存在服务器端。cookie保存在客户端
什么是jwt:jwt的全称时json web token 一个jwt由三部分构成:header,payload(载荷)signature(签名)
jwt特点:1.防CSRF(主要是伪造请求,带上cookie)2.适合移动应用 3无状态,编码数据
前端安全考虑的问题:
插槽:
img
写在category内,子组件里面放想要放的位置。。
组件间的信息是在解析之后传给<slot><slot>这个位置的
具名插槽:
一旦写了template后可以
games给往插槽放的ul 给这个 数据
这个《template》是必须得写{{atguigu}}是一个对象所以需要点 拿出game
补充:::
扩展运算符:
1.对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中
2.数组的扩展运算符
扩展运算符同样可以运用在对数组的操作中。
- 可以将数组转换为参数序列
function add(x, y) {
return x + y;
}
const numbers = [4, 38];
add(...numbers) // 42
传值:
1111. 父向子传值props
eg:父:<child :inputname="name">
子:props:["inputname"]
2222. 子向父传值$emit
子:<input type="button" value="点击触发" @click="childchick">
childchick(){
this.$emit('childby',this.chilfvalue)
}
父: <child v-on:childby="childbyvalue"></child>
childbyvalue:function(childvalue){ 红色就是传过来的值
this.name=childvalue}
33333. 父组件调用子组件的方法通过ref
父组件:在子组件中加上ref即可通过this.$refs.想要调用子组件中的方法名
前后端分页主要区别在于:前端分页需要自己截取想要数据的个数
后端分页 只需要将 当前第几页,一页几个数据传给后端就可以。
(写分页的时候搜索,下拉框,下一页都要写pageNum=1;initpage()方法。)
分页,每页显示条数:
后端分页:
分页,每页显示,查找:
前端分页:(写分页的时候搜索,下拉框,下一页都要写pageNum=1;initpage()方法。)
看搜索框的变化
分析一页显示多少条:下拉框:下一页:
我是$on 且被打