vue知识点

1. webpack

webpack-loaders

webpack默认只能识别JS和json文件,使用对应的loader,可以解析非JS、json文件

  • less-loader:将 less 文件编译成 css (css-loader才能使用),但是不生成文件,而是在内存中
  • css-loader:将 less 编译后的 css 转换成 CommentJS 的一个模块
  • style-loader:在HTML中创建一个style标签,将样式塞进去

2. 组件通信

父传子
子传父
非父子

3. 单页应用程序和路由

  1. 单页应用程序(SPA)
    现在我们不再单独的写HTML文件,而是通过代码控制路由,渲染到index.html
    优点:

    • 只有第一次会请求完整的页面
    • 只会请求必要的数据

    缺点:

    • 不利于SEO
    • 需要学习路由,开发成本高
  2. 动态路由

    动态路由配置:动态路由参数,以冒号开头
    let router = new VueRouter({
      	routes: [
        { path: '/detail/:id', component: Detail, name: 'detail' },
      ]
    })
    
    toDetail(id) {
      this.$router.push({
        name: "detail",
        params: {
          id: id,
        },
      });
    },
    
    使用时,获取动态路由的参数,params就是参数的意思
      this.$route.params.id;
    

杂项

  1. 防盗链
    <meta name="referrer" content="never">
  2. 点击失效:
    组件失效:其实是向组件传值了,使用native
    标签失效:层级z-index,透明盒子盖住了
  3. scoped
    使用了scoped,比如:<style lang='less' scoped>,就会在标签<div class='box'><div>上添加属性data-v-5227404a,而且在对应的样式上也会添加属性选择器.box[data-v-5227404a],所以浏览器在读取样式的时候,就会根据属性选择器的值匹配添加了对应属性的标签,来进行渲染
    如果没有scoped,style的样式会注册到全局:index.html
    如果写了scoped,对于内层的标签,样式作用不到,可以使用深度选择器解决,在css中,使用>>>,在less/sass中,使用/deep/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值