vue-02

简介: 1. vue脚手架用来创建vue项目的工具包创建项目: npm install -g vue-cli vue init webpack VueDemo开发环境运行: cd VueDemo npm install npm run dev生产环境打包发布...

1. vue脚手架

用来创建vue项目的工具包
创建项目:
    npm install -g vue-cli
    vue init webpack VueDemo
开发环境运行:
    cd VueDemo
    npm install
    npm run dev
生产环境打包发布
    npm run build
    npm install -g serve
    serve dist
    http://localhost:5000

2. eslint

用来做项目编码规范检查的工具
基本原理: 定义了很多规则, 检查项目的代码一旦发现违背了某个规则就输出相应的提示信息
有相应的配置, 可定制检查

3. 组件化编程

vue文件包含3个部分
    <template>
      <div></div>
    </template>
    <script>
        export default {
          props: []/{}
          data(){},
          computed: {}
          methods: {},
          
          watch: {}
          filters: {}
          directives: {}
          components: {}
        }
    </script>
    <style>
    </style>
组件化编码的基本流程
    1). 拆分界面, 抽取组件
    2). 编写静态组件
    3). 编写动态组件
        初始化数据, 动态显示初始化界面
        实现与用户交互功能
组件通信的5种方式
    props
    vue的自定义事件
    pubsub第三方库
    slot
    vuex(后面单独讲)
props:
    父子组件间通信的基本方式
    属性值的2大类型: 
        一般: 父组件-->子组件
        函数: 子组件-->父组件
    隔层组件间传递: 必须逐层传递(麻烦)
    兄弟组件间: 必须借助父组件(麻烦)
vue自定义事件
    子组件与父组件的通信方式
    用来取代function props
    不适合隔层组件和兄弟组件间的通信
pubsub第三方库(消息订阅与发布)
    适合于任何关系的组件间通信
slot
    通信是带数据的标签
    注意: 标签是在父组件中解析
vuex
    多组件共享状态(数据的管理)
    组件间的关系也没有限制
    功能比pubsub强大, 更适用于vue项目

4. ajax

相关库:
    vue-resource: vue插件, 多用于vue1.x
    axios: 第三方库, 多用于vue2.x
vue-resource使用
    // 引入模块
    import VueResource from 'vue-resource'
    // 使用插件
    Vue.use(VueResource)
    
    // 通过vue/组件对象发送ajax请求
    this.$http.get('/someUrl').then((response) => {
      // success callback
      console.log(response.data) //返回结果数据
    }, (response) => {
      // error callback
      console.log(response.statusText) //错误信息
    })
axios使用
    // 引入模块
    import axios from 'axios'
    
    // 发送ajax请求
    axios.get(url)
      .then(response => {
        console.log(response.data) // 得到返回结果数据
      })
      .catch(error => {
        console.log(error.message)
      })

5. vue-router

vue用来实现SPA的插件
使用vue-router
    1. 创建路由器: router/index.js
      new VueRouter({
        routes: [
          { // 一般路由
            path: '/about',
            component: about
          },
          { // 自动跳转路由
            path: '/', 
            redirect: '/about'
          }
        ]
      })
    2. 注册路由器: main.js
       import router from './router'
           new Vue({
               router
           })
    3. 使用路由组件标签:
           <router-link to="/xxx">Go to XXX</router-link>
           <router-view></router-view>
编写路由的3步
    1. 定义路由组件    
    2. 映射路由
    3. 编写路由2个标签
嵌套路由
    children: [
        {
          path: '/home/news',
          component: news
        },
        {
          path: 'message',
          component: message
        }
     ]
向路由组件传递数据
    params: <router-link to="/home/news/abc/123">
    props: <router-view msg='abc'>
缓存路由组件
    <keep-alive>
      <router-view></router-view>
    </keep-alive>
路由的编程式导航
    this.$router.push(path): 相当于点击路由链接(可以返回到当前路由界面)
    this.$router.replace(path): 用新路由替换当前路由(不可以返回到当前路由界面)
    this.$router.back(): 请求(返回)上一个记录路由
目录
相关文章
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
326 4
|
计算机视觉 C++
基于Qt的简易图片浏览器设计与实现
基于Qt的简易图片浏览器设计与实现
622 1
|
11月前
|
图形学 开发者
Unity中的透明效果之开启深度写入半透明效果
在Unity中实现开启深度写入的半透明效果,通过分离渲染过程为两个阶段:深度写入和颜色混合。首先,在深度写入阶段仅写入深度信息而不渲染颜色;其次,在颜色混合阶段进行正常的半透明颜色混合,确保后续物体能正确渲染且避免被错误裁剪。该方法解决了常规半透明渲染中关闭深度写入导致的问题。提供自定义Shader代码及材质设置步骤,方便开发者实现这一特殊渲染需求。
|
人工智能 测试技术 开发者
大模型自动生成并运行代码的体验与优化
随着近两年大模型的不断发展,它们在各个领域展示出了惊人的能力,可以说是在各个领域到了“开花结果”的阶段。比如最近技术圈比较火的阿里云的通义千问已经可以自己写代码、跑代码了,作为开发者,我觉得这种能力不仅提高了开发效率,还推动了编程实践向更高层次的转变和发展。但是,在使用大模型自动生成代码时,我们也会面临一些挑战,其中之一是代码可能会曲解开发者的需求。那么本文就来分享一下个个人的体验以及如何优化这种情况。
1498 2
大模型自动生成并运行代码的体验与优化
|
小程序 JavaScript 数据库
微信小程序云开发数据库操作删除记录
微信小程序云开发数据库操作删除记录
312 0
|
消息中间件 缓存 算法
从ACID到BASE:分布式系统CAP理论深度解析
**CAP理论**是分布式系统设计的基础,指出一致性(Consistency)、可用性(Availability)和分区容忍性(Partition Tolerance)无法兼得。一致性确保所有节点数据相同,如ACID原则;可用性保证系统始终响应用户请求,常见优化包括BASE理论和多级缓存;分区容忍性则确保网络分区时仍能服务。设计时需根据业务需求权衡这三者。
398 4
|
安全 大数据 网络安全
网络安全与信息安全:守护数字世界的坚盾在数字化浪潮席卷全球的今天,网络安全已成为维系社会稳定、促进经济发展的重要基石。本文旨在深入探讨网络安全漏洞、加密技术及安全意识等核心议题,通过分享前沿知识与实用策略,助力构建更加安全可靠的网络环境。
【10月更文挑战第8天】 本文聚焦网络安全领域的关键要素,包括安全漏洞的识别与防御、加密技术的演进与应用,以及安全意识的培养与提升。通过对最新研究成果和实际案例的分析,文章揭示了网络安全威胁的多样性和复杂性,强调了综合防护策略的重要性。同时,倡导社会各界共同参与,形成全民网络安全意识,共筑数字空间的安全防线。
333 0
|
机器学习/深度学习 人工智能 安全
人工智能在网络安全中的入侵检测与防御
人工智能在网络安全中的入侵检测与防御
|
机器学习/深度学习 计算机视觉
【YOLOv8改进-论文笔记】RFAConv:感受野注意力卷积,创新空间注意力
【YOLO目标检测专栏】探索空间注意力局限,提出感受野注意力(RFA)机制,解决卷积核参数共享问题。RFAConv增强大尺寸卷积核处理能力,不增加计算成本,提升网络性能。已在YOLOv8中实现,详情见YOLO目标检测创新改进与实战案例专栏。
|
开发者
迭代器(Iterator)遍历的两种方法(for和while)
迭代器(Iterator)遍历的两种方法(for和while)
258 0