当前位置: 首页 > news >正文

Vue 工程化开发入门

Vue开发的两种方式:

  1. 核心包传统开发模式:基于html/css/js文件,直接引入核心包,开发Vue
  2. 工程化开发模式:基于构建工具的环境中开发Vue

这里选择Vue cli脚手架 进行开发,搜索教程自行下载。

组件化开发

一个页面可以拆分成多个组件,每个组件有自己独立的结构、样式、行为;

便于维护,利于复用,能够提升开发效率

根组件

整个应用最上层的组件,包裹所有普通组件

App.vue文件组成部分

  1. template:结构(有且只能有一个根元素)
  2. script:js逻辑
  3. styple:样式(可支持less,需要安装包)

 

<template><div class="App"><div class="box" @click="fn"></div></div>
</template><script>
// 导出的是当前组件的配置项
// 里面可以提供 data(特殊) methods computed watch 生命周期八大钩子
export default {created () {console.log('我是created')},methods: {fn () {alert('你好')}}
}
</script><style lang="less">
/* 让style支持less1. 给style加上 lang="less"2. 安装依赖包 less less-loaderyarn add less less-loader -D (开发依赖)
*/
.App {width: 400px;height: 400px;background-color: pink;.box {width: 100px;height: 100px;background-color: skyblue;}
}
</style>

安装less less-loader依赖包:

终端 ctrl+c 停止服务,输入“yarn add less less-loader -D” 

在本地输入yarn-v命令,发现没安装yarn,输入npm install -g yarn,安装成功后,

在vscode进入终端,分别输入yarn add less less-loader -D和yarn serve

启动服务:

在终端输入yarn serve,再点开链接,每次都需要启动服务

组件注册

输入尖括号,选择第一个,自动生成

局部注册

只能在注册的组件内使用

步骤:

  1. 创建.vue文件(三个组件使用)
  2. 在使用的组件内导入并注册  components:{组件名: 组件对象}

组件名规范:大驼峰命名法

MyHeader.vue

<template><div class="my-header">header</div>
</template><script>
export default {}
</script><style>
.my-header{height: 100px;line-height:100px;text-align: center;font-size: 30px;background-color: coral;color:white;
}
</style>

App.vue

<template><div class="App"><!-- 头部组件 --><MyHeader></MyHeader><!-- 主体组件 --><MyMain></MyMain><!-- 底部组件 --><MyFooter></MyFooter></div>
</template><script>
import MyHeader from './components/MyHeader.vue'
import MyMain from './components/MyMain.vue'
import MyFooter from './components/MyFooter.vue'
export default {components:{MyHeader: MyHeader,MyMain: MyMain,MyFooter: MyFooter}
}
</script><style>
.App {width: 600px;height: 700px;background-color: #87ceeb;margin: 0 auto;padding: 20px;
}
</style>

全局注册

所有组件内部都能使用

步骤:

  1. 创建.vue文件(三个组成部分)
  2. main.js中进行全局注册     Vue.component(组件名, 组件对象)

 MyButton.vue

<template><button class="my-button">通用按钮</button></template><script>export default {}</script><style>.my-button {height: 50px;line-height: 50px;padding: 0 20px;background-color: #3bae56;border-radius: 5px;color: white;border: none;vertical-align: middle;cursor: pointer;}</style>

main.js

import Vue from 'vue'
import App from './App.vue'
// 编写导入的代码,往代码的顶部编写(规范)
import MyButton from './components/MyButton'
Vue.config.productionTip = false// 进行全局注册 → 在所有的组件范围内都能直接使用
// Vue.component(组件名,组件对象)
Vue.component('MyButton', MyButton)new Vue({render: (createElement) => {return createElement(App)}
}).$mount('#app')

一般都用局部注册,如果发现是通用组件,再抽离到全局

http://www.lryc.cn/news/342090.html

相关文章:

  • 车牌号识别系统:PyQT5+QT Designe+crnn/PaddleOCR+YOLO+OpenCV矫正算法。
  • 【基于MAX98357的Minimax(百度)长文本语音合成TTS 接入教程】
  • 秋招后端开发面试题 - JVM底层原理
  • VUE2从入门到精通(一)
  • cmake进阶:文件操作之写文件
  • ubuntu 安装单节点HBase
  • HTTP 多个版本
  • 【DevOps】探索Linux命令行世界:深入了解Shell的力量
  • 互斥量的使用
  • 关于面试真题的压迫
  • 1700java进销存管理系统Myeclipse开发sqlserver数据库web结构java编程计算机网页项目
  • mysql数据库(排序与分页)
  • Android 实时监听Activity堆栈变化(系统应用)
  • 双目深度估计原理立体视觉
  • Redis探索之旅(基础)
  • C语言/数据结构——每日一题(链表的中间节点)
  • 这是用VS写的一个tcp客户端和服务端的demo
  • 代码随想录算法训练营day18 | 102.二叉树的层序遍历、226.翻转二叉树、101. 对称二叉树
  • 工厂自动化升级改造参考(01)--设备通信协议详解及选型
  • 数据结构与算法之经典排序算法
  • VSCode通过SSH连接虚拟机Ubuntu失败
  • 在Codelab对llama3做Lora Fine tune微调
  • KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记13 - STM32的SDIO学习5 - 卡的轮询读写擦
  • 【C++】HP-Socket(三):UdpClient、UdpServer、UdpCast、UdpNode的区别
  • java设计模式六 访问者
  • 中间件研发之Springboot自定义starter
  • libcity笔记:添加新模型(以RNN.py为例)
  • Ansible---自动化运维工具
  • 5.Git
  • 探索中位数快速排序算法:高效寻找数据集的中间值